Exemplo n.º 1
0
 /**
  * @before _secure
  */
 public function platforms($id = null)
 {
     $this->seo(array("title" => "Platforms"));
     $view = $this->getActionView();
     $query['user_id'] = ['$in' => $this->org->users('publisher')];
     $limit = RM::get("limit", 20);
     $page = RM::get("page", 1);
     $property = RM::get("property", '');
     $value = RM::get("value");
     if (in_array($property, ["live", "user_id"])) {
         $query["{$property} = ?"] = $value;
     } else {
         if (in_array($property, ["url"])) {
             $query[$property] = Utils::mongoRegex($value);
         }
     }
     if (RM::type() === 'POST') {
         $p = \Platform::first(['_id' => $id, 'user_id' => $query['user_id']]);
         if (!$p) {
             return $view->set('message', "Invalid Request!!");
         }
         try {
             $updateAble = ['live', 'user_id', 'url'];
             foreach ($_POST as $key => $value) {
                 if (in_array($key, $updateAble)) {
                     $p->{$key} = $value;
                 }
             }
             $p->save();
             return $view->set('message', 'Platform updated!!');
         } catch (\Exception $e) {
             return $view->set('message', "Invalid Request Parameters!!");
         }
     }
     if (RM::type() === 'DELETE') {
         $p = \Platform::first(['_id' => $id, 'user_id' => $query['user_id']]);
         if (!$p) {
             return $view->set('message', "Invalid Request!!");
         }
         $p->delete();
         return $view->set('message', "Platform Removed!!");
     }
     $platforms = Platform::all($query, [], 'created', 'desc', $limit, $page);
     $count = Platform::count($query);
     $view->set("platforms", $platforms)->set("count", $count)->set("property", $property)->set("value", $value)->set("limit", $limit)->set("page", $page);
 }