Example #1
0
 public static function GenerateSiteMap($site)
 {
     $list = Page::GetPagesForSite($site['SiteId']);
     // get offset for time zone
     $timeZone = new DateTimeZone($site['TimeZone']);
     $now = new DateTime("now", $timeZone);
     $offset = $timeZone->getOffset($now);
     $xml = '<?xml version="1.0" encoding="UTF-8"?>' . '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
     date_default_timezone_set('America/Los_Angeles');
     foreach ($list as $row) {
         $u = strtotime($row['LastModifiedDate']) + $offset;
         $pageType = PageType::GetByPageTypeId($row['PageTypeId']);
         if ($pageType['IsSecure'] == 1) {
             continue;
         }
         if ($row['IncludeOnly'] == 1) {
             continue;
         }
         // set URL divider based on URL mode
         $divider = '/';
         // build url
         if ($row['PageTypeId'] == -1) {
             $xml = $xml . '<url>' . '<loc>' . $site['Domain'] . $divider . strtolower($row['FriendlyId']) . '</loc>' . '<lastmod>' . date('Y-m-d', $u) . '</lastmod>' . '<priority>1.0</priority>' . '</url>';
         } else {
             $xml = $xml . '<url>' . '<loc>' . $site['Domain'] . $divider . strtolower($pageType['FriendlyId']) . '/' . strtolower($row['FriendlyId']) . '</loc>' . '<lastmod>' . date('Y-m-d', $u) . '</lastmod>' . '<priority>0.5</priority>' . '</url>';
         }
     }
     $xml = $xml . '</urlset>';
     return $xml;
 }
Example #2
0
 public static function PublishAllPages($siteUniqId, $root = '../')
 {
     $site = Site::GetBySiteUniqId($siteUniqId);
     // Get all pages
     $list = Page::GetPagesForSite($site['SiteId']);
     foreach ($list as $row) {
         Publish::PublishPage($row['PageUniqId'], false, false, $root);
     }
 }
Example #3
0
 /**
  * @method GET
  */
 function get()
 {
     // get token
     $token = Utilities::ValidateJWTToken(apache_request_headers());
     // check if token is not null
     if ($token != NULL) {
         // get a reference to the site
         $site = Site::GetBySiteId($token->SiteId);
         $user = User::GetByUserId($token->UserId);
         // creates an access object
         $access = Utilities::SetAccess($user);
         // get pages
         $list = Page::GetPagesForSite($token->SiteId, false);
         $pages = array();
         foreach ($list as $row) {
             $fullName = $row['FirstName'] . ' ' . $row['LastName'];
             $row['LastModifiedFullName'] = $fullName;
             // init url
             $url = $row['FriendlyId'];
             // initialize PT
             $pageType = NULL;
             $canEdit = false;
             $canPublish = false;
             $canRemove = false;
             // get url, permissions
             if ($row['PageTypeId'] != -1) {
                 $pageType = PageType::GetByPageTypeId($row['PageTypeId']);
                 $url = strtolower($pageType['FriendlyId']) . '/' . $row['FriendlyId'];
                 // set edit permissions
                 if ($access['CanEdit'] == 'All' || strpos($access['CanEdit'], $pageType['PageTypeId']) !== FALSE) {
                     $canEdit = true;
                 }
                 // set publish permissions
                 if ($access['CanPublish'] == 'All' || strpos($access['CanPublish'], $pageType['PageTypeId']) !== FALSE) {
                     $canPublish = true;
                 }
                 // set remove permissions
                 if ($access['CanRemove'] == 'All' || strpos($access['CanRemove'], $pageType['PageTypeId']) !== FALSE) {
                     $canRemove = true;
                 }
             } else {
                 // set edit permissions
                 if ($access['CanEdit'] == 'All' || strpos($access['CanEdit'], 'root') !== FALSE) {
                     $canEdit = true;
                 }
                 // set publish permissions
                 if ($access['CanPublish'] == 'All' || strpos($access['CanPublish'], 'root') !== FALSE) {
                     $canPublish = true;
                 }
                 // set remove permissions
                 if ($access['CanRemove'] == 'All' || strpos($access['CanRemove'], 'root') !== FALSE) {
                     $canRemove = true;
                 }
             }
             // init
             $imageURL = '';
             $thumbURL = '';
             // get thumb url
             if ($row['Image'] != '') {
                 // set images URL
                 if (FILES_ON_S3 == true) {
                     $bucket = $site['Bucket'];
                     $imagesURL = str_replace('{{bucket}}', $bucket, S3_URL);
                     $imagesURL = str_replace('{{site}}', $site['FriendlyId'], $imagesURL);
                 } else {
                     $imagesURL = $site['Domain'];
                 }
                 $thumbURL = $imagesURL . '/files/thumbs/' . $row['Image'];
                 $imageURL = $imagesURL . '/files/' . $row['Image'];
             }
             $row['Image'] = $imageURL;
             $row['Thumb'] = $thumbURL;
             // set permissions
             $row['CanEdit'] = $canEdit;
             $row['CanPublish'] = $canPublish;
             $row['CanRemove'] = $canRemove;
             // set url
             $row['Url'] = $url;
             $hasDraft = false;
             if ($row['Draft'] != NULL) {
                 $hasDraft = true;
             }
             $row['HasDraft'] = $hasDraft;
             // push to array
             array_push($pages, $row);
         }
         // return a json response
         $response = new Tonic\Response(Tonic\Response::OK);
         $response->contentType = 'application/json';
         $response->body = json_encode($pages);
         return $response;
     } else {
         // unauthorized access
         return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
     }
 }
Example #4
0
 public static function PublishAllPages($site)
 {
     // Get all pages
     $list = Page::GetPagesForSite($site['SiteId']);
     foreach ($list as $row) {
         Publish::PublishPage($row['PageId'], false, false);
     }
 }
Example #5
0
 /**
  * @method GET
  */
 function get()
 {
     // get an authuser
     $authUser = new AuthUser();
     if (isset($authUser->UserUniqId)) {
         // check if authorized
         // get pages
         $list = Page::GetPagesForSite($authUser->SiteId, true);
         $pages = array();
         foreach ($list as $row) {
             $page = Page::GetByPageId($row['PageId']);
             $fullName = $row['FirstName'] . ' ' . $row['LastName'];
             $row['LastModifiedFullName'] = $fullName;
             $imageUrl = '';
             $thumbUrl = '';
             $row['Image'] = $imageUrl;
             $row['Thumb'] = $thumbUrl;
             $url = $page['FriendlyId'];
             if ($page['PageTypeId'] != -1) {
                 $pageType = PageType::GetByPageTypeId($page['PageTypeId']);
                 $url = strtolower($pageType['TypeS']) . '/' . $page['FriendlyId'];
             }
             $row['Url'] = $url;
             // permissions are not applicable to this API call
             $row['CanEdit'] = '';
             $row['CanPublish'] = '';
             $row['CanRemove'] = '';
             $pages[$row['PageUniqId']] = $row;
         }
         // return a json response
         $response = new Tonic\Response(Tonic\Response::OK);
         $response->contentType = 'application/json';
         $response->body = json_encode($pages);
         return $response;
     } else {
         // unauthorized access
         return new Tonic\Response(Tonic\Response::UNAUTHORIZED);
     }
 }