/** * @method POST */ function update($pageUniqId) { // get an authuser $authUser = new AuthUser(); if (isset($authUser->UserUniqId)) { // check if authorized parse_str($this->request->data, $request); // parse request // get request params $name = $request['name']; $friendlyId = $request['friendlyId']; $description = $request['description']; $keywords = $request['keywords']; $callout = $request['callout']; $rss = $request['rss']; $layout = $request['layout']; $stylesheet = $request['stylesheet']; $beginDate = $request['beginDate']; $endDate = $request['endDate']; $timeZone = $request['timeZone']; $location = $request['location']; $latitude = $request['latitude']; $longitude = $request['longitude']; // default is a root element $pageTypeUniqId = -1; // get a reference to a page $page = Page::GetByPageUniqId($pageUniqId); // make sure the user is part of the site (or is a superadmin) if ($authUser->IsSuperAdmin == false && $authUser->SiteId != $page['SiteId']) { return new Tonic\Response(Tonic\Response::UNAUTHORIZED); } // get a pagetypeuniqid if ($page['PageTypeId'] != -1) { $pageType = PageType::GetByPageTypeId($page['PageTypeId']); $pageTypeUniqId = $pageType['PageTypeUniqId']; } // get permissions (both publishers and editors can save settings) $canEdit = Utilities::CanPerformAction($pageTypeUniqId, $authUser->CanEdit); $canPublish = Utilities::CanPerformAction($pageTypeUniqId, $authUser->CanPublish); // check permissions if ($canEdit == false && $canPublish == false) { return new Tonic\Response(Tonic\Response::UNAUTHORIZED); } // edits settings Page::EditSettings($pageUniqId, $name, $friendlyId, $description, $keywords, $callout, $beginDate, $endDate, $timeZone, $location, $latitude, $longitude, $rss, $layout, $stylesheet, $authUser->UserId); // add categories to the page (if set) if (isset($request['categories'])) { // remove categories Page::RemoveCategories($page['PageId']); $categories = $request['categories']; $arr = explode(',', $categories); foreach ($arr as $categoryUniqId) { $category = Category::GetByCategoryUniqId($categoryUniqId); if ($category != NULL) { Page::AddCategory($page['PageId'], $category['CategoryId']); } } } return new Tonic\Response(Tonic\Response::OK); } else { // unauthorized access return new Tonic\Response(Tonic\Response::UNAUTHORIZED); } return new Tonic\Response(Tonic\Response::NOTIMPLEMENTED); }