예제 #1
0
 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));
             }
         }
     }
 }
예제 #2
0
 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();
             }
         }
     }
 }