Проверка вхождения пользователя в определенныу группу [bitrix api]

Комментарии отключены

Думаю метод проверки пользователя в определенной группе обязан быть в API, но его почему-то там не оказалось, есть пару(CUser::GetUserGroupArray(),
CUser::GetUserGroup(), CUser::GetUserGroupString()) методов для выборки всех групп пользователя. Чтобы сделать проверку с помощью этих методов нужны дополнительные манипуляции.

Предложу решение:

/**
* Функция проверки нахождения пользователя в определенной группе
* @param {intva} $i_GroupID - ID группы
* @param {intval} $i_UserID - ID пользователя, если не указан, то текущий
* @return {bool}
*/
function isUserGroupID($i_GroupID, $i_UserID = false)
{
    if(!$i_UserID && $GLOBALS['USER']->IsAuthorized())
        $i_UserID = intval($GLOBALS['USER']->GetID());        

    if($i_UserID)
        return  in_array($i_GroupID, CUser::GetUserGroup(intval($i_UserID)));
}

var_dunp( isUserGroupID(1, 1) ); // true

Проверка активности элемента по дате [bitrix api]

Комментарии отключены

В методе CIBlockElement::GetList() есть параметр фильтра для выборки активных элементов по дате. Т.е. проверка происходит еще в запросе и не надо в списке нечего проверять дополнительно.

Если вам нужно обратная сторона действия с фильтрацией по дате активности, то у вас это не получится сделать. Мной ожидалось поведение, что если
заменить Y на N то выборка отдаст только не активные по дате элементы, но к сожалению это не так, читаем еще раз док и убеждаемся в этом.

ACTIVE_DATE — непустое значение задействует фильтр по датам активности.
Будут выбраны активные по датам элементы.Если значение не установлено («»), фильтрация по датам активности не производится;

Приходится делать полную выборку и проверят уже в результате что конечно не очень хорошо.

function __isElelementDateActive($s_DateFrom, $s_DateTo)
{
    $stmp_DateFrom = MakeTimeStamp($s_DateFrom, "DD.MM.YYYY HH:MI:SS");
    $stmp_DateTo   = MakeTimeStamp($s_DateTo, "DD.MM.YYYY HH:MI:SS");
    $stmp_Date     = MakeTimeStamp(date('d.m.Y H:i:s'), "DD.MM.YYYY HH:MI:SS");

    return ($stmp_Date > $stmp_DateFrom && $stmp_Date < $stmp_DateTo);
}
+ бонус, проверка если дата истекает за 1 день
function __isOneDayShowElement($s_DateTo)
{
    $stmp_DateTo   = MakeTimeStamp($s_DateTo, "DD.MM.YYYY");
    $stmp_Date     = MakeTimeStamp(date('d.m.Y'), "DD.MM.YYYY");

    return (($stmp_DateTo - $stmp_Date) == 86400);
}

gcolor2

Комментарии отключены

Аплет взятия цвета для гнома.

gcolor2 is a simple color selector that was originally based on gcolor, ported to use GTK+2, and now has a completely new UI.

http://gcolor2.sourceforge.net/

Иконки Ubuntu [faenza]

Комментарии отключены

sudo add-apt-repository ppa:tiheum/equinox
sudo apt-get update
sudo apt-get install faenza-icon-theme

Отделение десятых, сотых, тысячных от числа символом [javascript]

Комментарии отключены

Функция вставляет (в данном случае точку) после десятой, сотой, и тысячной доли числа.

var __formatSumm = function(sum)
{
    var c = sum.length, s = sum, m = "", i = 0;
    while(c--){if(i==3){m+='.'+s[c];i=0;}else{m += s[c];}i++;}
    return m.split("").reverse().join("");
}

1.000
10.000
100.000

1.000.000
10.000.000
100.000.000

1.000.000.000
10.000.000.000
100.000.000.000

UP

Для php

function __formatSumm($s)
{
    $c  = strlen($s);
    $ar = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY);
    $i  = 0;
    while($c--){if($i == 3){ $m .='.'.$ar[$c]; $i = 0;}else{ $m .= $ar[$c];}$i++;}	

    return strrev($m);
}

randomString() — уникальный, для динамического добавления к элементу DOM

Комментарии отключены

function randomString() {
    return '' + new Date().getTime();
}
function randomString(length) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');

    if (! length) {
        length = Math.floor(Math.random() * chars.length);
    }

    var str = '';
    for (var i = 0; i < length; i++) {
        str += chars[Math.floor(Math.random() * chars.length)];
    }
    return str;
}

Запрет скайпу менять вид телефонов

Комментарии отключены

 <meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />

Проверка элемента на активность по дате [bitrix]

5 Comments

function _isDateActive($date_from, $date_to)
{
    $ar_DateFrom    = explode('.', $date_from);
    $ar_DateTo      = explode('.', $date_to);
    $ar_Date        = explode('.', date('d.m.Y'));
    $s_MetaDateFrom = mktime(0, 0, 0, $ar_DateFrom[1], $ar_DateFrom[0], $ar_DateFrom[2]);
    $s_MetaDateTo   = mktime(0, 0, 0, $ar_DateTo[1], $ar_DateTo[0], $ar_DateTo[2]);
    $s_MetaDate     = mktime(0, 0, 0, $ar_Date[1], $ar_Date[0], $ar_Date[2]);

    return ($s_MetaDate >= $s_MetaDateFrom && $s_MetaDate <= $s_MetaDateTo);
}

Валидность E-mail js [RegExp]

Комментарии отключены

/**
 * @param {string} - Email
 * @param {string} - (true/false) - определяет строгую
 * проверку при которой пробелы до и после адреса считаются ошибкой
 * @returns {Boolean} - (true/false)
 */
function isValidEmail (email, strict)
{
     if ( !strict )
	email = email.replace(/^\s+|\s+$/g, '');
     return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

найдено

В input только числа

Комментарии отключены

var ar_str = $('#INPUT').val().split("");
var r  = /\d{1}/;
var nv = '';
for(var i = 0; i < ar_str.length; i++)
{
      if(r.test(ar_str[i]))
	nv +=  ar_str[i];
}
$('#INPUT').val(nv);

Older Entries