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; }
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); } }
/** * @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); } }
public static function PublishAllPages($site) { // Get all pages $list = Page::GetPagesForSite($site['SiteId']); foreach ($list as $row) { Publish::PublishPage($row['PageId'], false, false); } }
/** * @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); } }