示例#1
0
 /**
  * @method POST
  */
 function add()
 {
     // get an authuser
     $authUser = new AuthUser();
     if (isset($authUser->UserUniqId)) {
         // check if authorized
         parse_str($this->request->data, $request);
         // parse request
         // get the page type (if applicable)
         $pageTypeId = -1;
         $pageTypeUniqId = $request['pageTypeUniqId'];
         // get page type
         // check permissions
         if (Utilities::CanPerformAction($pageTypeUniqId, $authUser->CanCreate) == false) {
             return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
         }
         // default layout and stylesheet is content
         $layout = 'content';
         $stylesheet = 'content';
         if ($pageTypeUniqId != '-1') {
             $pageType = PageType::GetByPageTypeUniqId($pageTypeUniqId);
             if ($pageType != null) {
                 $pageTypeId = $pageType['PageTypeId'];
                 $layout = $pageType['Layout'];
                 $stylesheet = $pageType['Stylesheet'];
             }
         }
         $name = $request['name'];
         $friendlyId = $request['friendlyId'];
         $description = $request['description'];
         $page = Page::Add($friendlyId, $name, $description, $layout, $stylesheet, $pageTypeId, $authUser->SiteId, $authUser->UserId);
         // add categories to the page (if set)
         if (isset($request['categories'])) {
             $categories = $request['categories'];
             $arr = explode(',', $categories);
             foreach ($arr as $categoryUniqId) {
                 $category = Category::GetByCategoryUniqId($categoryUniqId);
                 if ($category != NULL) {
                     Page::AddCategory($page['PageId'], $category['CategoryId']);
                 }
             }
         }
         // return a json response
         $response = new Tonic\Response(Tonic\Response::OK);
         $response->contentType = 'application/json';
         $response->body = json_encode($page);
         return $response;
     } else {
         // unauthorized access
         return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
     }
 }
示例#2
0
 /**
  * @method POST
  */
 function get()
 {
     // get an authuser
     $authUser = new AuthUser();
     if (isset($authUser->UserUniqId)) {
         // check if authorized
         $pageTypeId = -1;
         parse_str($this->request->data, $request);
         // parse request
         if (isset($request['pageTypeId'])) {
             $pageTypeId = $request['pageTypeId'];
         }
         if (isset($request['friendlyId'])) {
             $friendlyId = $request['friendlyId'];
             $pageType = PageType::GetByFriendlyId($friendlyId, $authUser->SiteId);
             // look up id
             $pageTypeId = $pageType['PageTypeId'];
         }
         if (isset($request['pageTypeUniqId'])) {
             $pageType = PageType::GetByPageTypeUniqId($request['pageTypeUniqId']);
             // look up id
             $pageTypeId = $pageType['PageTypeId'];
         }
         // check that pageTypeId was set
         if ($pageTypeId != -1) {
             $list = Category::GetCategories($pageTypeId);
             // return a json response
             $response = new Tonic\Response(Tonic\Response::OK);
             $response->contentType = 'application/json';
             $response->body = json_encode($list);
             return $response;
         } else {
             // return an empty response (e.g. root has not categories)
             $response = new Tonic\Response(Tonic\Response::OK);
             $response->contentType = 'application/json';
             $response->body = '[]';
             return $response;
         }
     } else {
         return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
     }
 }
示例#3
0
 /**
  * @method POST
  */
 function get()
 {
     parse_str($this->request->data, $request);
     // parse request
     $siteUniqId = SITE_UNIQ_ID;
     $pageTypeUniqId = $request['pageTypeUniqId'];
     $site = Site::GetBySiteUniqId($siteUniqId);
     $pageType = PageType::GetByPageTypeUniqId($pageTypeUniqId);
     // Get all pages
     $total = Page::GetPagesCount($site['SiteId'], $pageType['PageTypeId'], true);
     $json = '{"total":"' . $total . '"}';
     header('Content-type: application/json');
     // return a json response
     $response = new Tonic\Response(Tonic\Response::OK);
     $response->contentType = 'applicaton/json';
     $response->body = $json;
     return $response;
 }
示例#4
0
 /**
  * @method DELETE
  */
 function delete($pageTypeUniqId)
 {
     // get an authuser
     $authUser = new AuthUser();
     if (isset($authUser->UserUniqId)) {
         // check if authorized
         $pageType = PageType::GetByPageTypeUniqId($pageTypeUniqId);
         $site = Site::GetBySiteId($pageType['SiteId']);
         // remove pages for that pagetype in that site
         $dir = '../sites/' . $site['FriendlyId'] . '/' . $pageType['FriendlyId'];
         if (file_exists($dir)) {
             Utilities::RemoveDirectory($dir);
         }
         // remove page type and pages from DB
         PageType::Delete($pageType['PageTypeId']);
         return new Tonic\Response(Tonic\Response::OK);
     } else {
         return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
     }
 }