public function hasRole($role) { $tl = attrToArray($this->attr("data-role")); if (in_array($role, $tl)) { return true; } else { return false; } }
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; }