Example #1
0
 public function hasRole($role)
 {
     $tl = attrToArray($this->attr("data-role"));
     if (in_array($role, $tl)) {
         return true;
     } else {
         return false;
     }
 }
Example #2
0
function array_sort_multi($array = array(), $args = array('votes' => 'd'))
{
    // если передан атрибут, то предварительно готовим массив параметров
    if (is_string($args) && $args > "") {
        $args = attrToArray($args);
        $param = array();
        foreach ($args as $ds) {
            $tmp = explode(":", $ds);
            if (!isset($tmp[1])) {
                $tmp[1] = "a";
            }
            $param[$tmp[0]] = $tmp[1];
        }
        $args = $param;
        unset($param, $tmp, $ds);
    }
    // сортировка массива по нескольким полям
    usort($array, function ($a, $b) use($args) {
        $res = 0;
        $a = (object) $a;
        $b = (object) $b;
        foreach ($args as $k => $v) {
            if (isset($a->{$k}) && isset($b->{$k})) {
                if ($a->{$k} == $b->{$k}) {
                    continue;
                }
                $res = $a->{$k} < $b->{$k} ? -1 : 1;
                if ($v == 'd') {
                    $res = -$res;
                }
                break;
            }
        }
        return $res;
    });
    return $array;
}