public function runWidgets($position = WidgetObject::WIDGET_LATERAL_LEFT, callable $callable = null) { $w = WidgetObject::loadByPosition($position); if ($callable != null) { foreach ($w as $k => $v) { $run = true; $r = method_invoke_all("permissions", array($v->permissions)); foreach ($r as $tt) { if ($tt == false) { $run = false; } } if ($run) { $callable(call_user_func($v->callback)); } } } }
public static function resetAllPriorityByPosition($position) { $widgets = WidgetObject::loadByPosition($position); $activates = self::loadAllActivate($position, true); $max = count($activates) + 1; foreach ($widgets as $k => $w) { if ($w->activate == 1) { if ($w->priority == 0) { $w->priority = $max; $max++; $w->save(); } else { if ($w->priority > $k + 1) { $w->priority = $k + 1; $w->save(); } } } else { if ($w->activate == 0 and $w->priority != 0) { $w->priority = 0; $w->save(); } } } }