* @since Version 2.0 */ class cmsSubscriptions { public $DIR; public $uriData; public $controller; /** * Class constructor */ public function __construct($uriData) { $this->uriData = $uriData; $this->DIR = __DIR__ ? __DIR__ : dirname(__FILE__); $this->controller = new cmsSubscriptionsController($this->uriData, $this->DIR, basename($this->DIR)); } /** * Default function to run * Skip if other callback defined */ public function run() { $action = getV('action'); if($action){ switch ($action) { case 'edit': $this->controller->run(true); break; case 'filter_table': cJSON::sendOk($this->controller->createCmsTable(getP('page'), getP('filter'), getP('headers'))); break; case 'selfLoad': cJSON::sendOk($this->controller->editCmsTableRecord(getV('id'))); break; case 'selfSave': if(getV('id')){ if($this->controller->oUser->chkPermission('CMS_PUB_SUBSCRIPTIONS_EDIT', false, false)){ cJSON::sendOk($this->controller->saveRecordData(getV('id'), getP('fields'))); }else{ cJSON::sendError(); } }else{ if($this->controller->oUser->chkPermission('CMS_PUB_SUBSCRIPTIONS_ADD_NEW', false, false)){ cJSON::sendOk($this->controller->saveRecordData(getV('id'), getP('fields'))); }else{ cJSON::sendError(); } } break; case 'deleteRecords': if($this->controller->oUser->chkPermission('CMS_PUB_SUBSCRIPTIONS_DELETE')){ cJSON::sendOk($this->controller->delete(getP('fields'))); } break; case 'changeRecordsStatus': if($this->controller->oUser->chkPermission('CMS_PUB_SUBSCRIPTIONS_EDIT')){ cJSON::sendOk($this->controller->changeEnumFields(getP('baseField'), getP('fields'))); } break; default: $this->controller->run(); break; } }else{ $this->controller->run(); } } }