public function execute() { $list_of_pages = SJB_PageManager::get_pages('user'); $scriptPath = explode(SJB_System::getSystemSettings("SYSTEM_URL_BASE"), __FILE__); $scriptPath = array_shift($scriptPath); $handle = fopen($scriptPath . "sitemap.xml", "w"); $text = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; fwrite($handle, $text); foreach ($list_of_pages as $page) { if ($page['uri'] == '/display-job/') { $request['action'] = 'search'; $request['listing_type']['equal'] = 'Job'; $found_listings_sids = $this->searchListings($request, 'Job'); foreach ($found_listings_sids as $sid) { $listing_info = SJB_ListingManager::getListingInfoBySID($sid); $title = htmlspecialchars($listing_info['Title']); $title = $sid . "/" . preg_replace("/[\\/\\\\:*?\"<>|%#\$\\s]/", "_", $title) . ".html"; $text = ' <url> <loc>' . SJB_System::getSystemSettings("SITE_URL") . $page['uri'] . $title . '</loc> <lastmod>' . date('Y-m-d') . '</lastmod> <changefreq>daily</changefreq> <priority>1</priority> </url>'; fwrite($handle, $text); } } elseif ($page['uri'] == '/display-resume/') { $request['action'] = 'search'; $request['listing_type']['equal'] = 'Resume'; $found_listings_sids = $this->searchListings($request, 'Resume'); foreach ($found_listings_sids as $sid) { $listing_info = SJB_ListingManager::getListingInfoBySID($sid); $title = htmlspecialchars($listing_info['Title']); $title = $sid . "/" . preg_replace("/[\\/\\\\:*?\"<>|%#\$\\s]/", "_", $title) . ".html"; $text = ' <url> <loc>' . SJB_System::getSystemSettings("SITE_URL") . $page['uri'] . $title . '</loc> <lastmod>' . date('Y-m-d') . '</lastmod> <changefreq>daily</changefreq> <priority>1</priority> </url>'; fwrite($handle, $text); } } elseif ($page['uri'] != '/callback/') { $text = ' <url> <loc>' . SJB_System::getSystemSettings("SITE_URL") . $page['uri'] . '</loc> <lastmod>' . date('Y-m-d') . '</lastmod> <changefreq>daily</changefreq> <priority>1</priority> </url>'; fwrite($handle, $text); } } $text = ' </urlset>'; fwrite($handle, $text); fclose($handle); }
public function execute() { $template_processor = SJB_System::getTemplateProcessor(); $listingTypeSID = isset($_REQUEST['sid']) ? $_REQUEST['sid'] : null; if (!is_null($listingTypeSID)) { $form_submitted = SJB_Request::getVar('action', ''); $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($listingTypeSID); $approveSettingChanged = $listing_type_info['waitApprove'] != SJB_Request::getVar('waitApprove'); $listing_type_info = array_merge($listing_type_info, $_REQUEST); $listingType = new SJB_ListingType($listing_type_info); $listingType->setSID($listingTypeSID); $edit_form = new SJB_Form($listingType); $listingTypeEmailAlert = $listingType->getPropertyValue('email_alert'); if (empty($listingTypeEmailAlert)) { $listingType->setPropertyValue('email_alert', 0); } $listingTypeEmailAlertForGuests = $listingType->getPropertyValue('guest_alert_email'); if (empty($listingTypeEmailAlertForGuests)) { $listingType->setPropertyValue('guest_alert_email', 0); } $errors = array(); if ($form_submitted && $edit_form->isDataValid($errors)) { SJB_Breadcrumbs::updateBreadcrumbsByListingTypeSID($listingTypeSID, $listingType->getPropertyValue('name')); SJB_PageManager::updatePagesByListingTypeSID($listingTypeSID, $listingType->getPropertyValue('name')); SJB_ListingTypeManager::saveListingType($listingType); if ($approveSettingChanged) { SJB_BrowseDBManager::rebuildBrowses(); } if ($form_submitted == 'save_info') { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/listing-types/'); } } $template_processor->assign('errors', $errors); $template_processor->assign('listing_type_sid', $listingTypeSID); $listing_fields_info = SJB_ListingFieldManager::getListingFieldsInfoByListingType($listingTypeSID); $listing_fields = array(); $listing_field_sids = array(); foreach ($listing_fields_info as $listing_field_info) { if ($listing_field_info['type'] == 'logo') { continue; } $listing_field = new SJB_ListingField($listing_field_info); $listing_field->setSID($listing_field_info['sid']); $listing_fields[] = $listing_field; $listing_field_sids[] = $listing_field_info['sid']; } $edit_form->registerTags($template_processor); $template_processor->assign("listing_type_info", $listing_type_info); $template_processor->assign("form_fields", $edit_form->getFormFieldsInfo()); $template_processor->display("edit_listing_type.tpl"); $form_collection = new SJB_FormCollection($listing_fields); $form_collection->registerTags($template_processor); $template_processor->assign("listing_field_sids", $listing_field_sids); $template_processor->display("listing_type_fields.tpl"); } }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $this->pageID = SJB_PageManager::getPageParentURI(SJB_Navigator::getURI(), SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'), false); if (empty($this->pageID) || $this->pageID == '/') { $this->pageID = $GLOBALS['uri']; } if (SJB_SubAdmin::getSubAdminSID()) { $tp->assign('left_admin_menu', $this->mark_active_itemsPermissionWith($GLOBALS['LEFT_ADMIN_MENU'], SJB_SubAdminAcl::getInstance(), SJB_SubAdmin::getSubAdminSID())); $tp->assign('subadmin', SJB_SubAdmin::getSubAdminInfo()); } else { $tp->assign('left_admin_menu', $this->mark_active_items($GLOBALS['LEFT_ADMIN_MENU'])); } $tp->display('admin_left_menu.tpl'); }
public function isAccessible() { $listingTypeID = SJB_Array::get($this->params, 'listing_type_id'); if ($listingTypeID) { $permissionLabel = 'view_' . strtolower($listingTypeID) . '_details'; $this->setPermissionLabel($permissionLabel); $allow = parent::isAccessible() && SJB_System::isUserAccessThisPage(); $listingID = SJB_Request::getVar('listing_id', false); $passedParametersViaUri = SJB_Request::getVar('passed_parameters_via_uri', false); if (!$listingID && $passedParametersViaUri) { $passedParametersViaUri = SJB_UrlParamProvider::getParams(); if (isset($passedParametersViaUri[0])) { $listingID = $passedParametersViaUri[0]; } } if (SJB_UserManager::isUserLoggedIn()) { $currentUser = SJB_UserManager::getCurrentUser(); if (!$allow && $listingID) { $pageID = SJB_PageManager::getPageParentURI(SJB_Navigator::getURI(), SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'), false); $pageHasBeenVisited = SJB_ContractManager::isPageViewed($currentUser->getSID(), $pageID, $listingID); if ($pageHasBeenVisited || strpos($pageID, 'print') !== false) { $allow = true; } } if (!$allow && 'Resume' == $listingTypeID && $listingID) { // if view resume not allowed by ACL, check applications table // for current resume ID, applied for one of current user jobs // if present in applications - allow current user to view resume // check for all jobs of current user $cuJobs = SJB_ListingManager::getListingsByUserSID($currentUser->getSID()); $listingSids = array(); foreach ($cuJobs as $job) { $listingSids[] = $job->getSID(); } if (!empty($listingSids)) { $result = SJB_DB::query('SELECT * FROM `applications` WHERE `resume` = ?n AND `listing_id` IN (?l) LIMIT 1', $listingID, $listingSids); if (!empty($result)) { $allow = true; } } } } return $allow; } return parent::isAccessible() && SJB_System::isUserAccessThisPage(); }
public function execute() { $listing_type = new SJB_ListingType($_REQUEST); $add_listing_type_form = new SJB_Form($listing_type); $form_is_submitted = SJB_Request::getVar('action') == 'add'; $errors = null; if ($form_is_submitted && $add_listing_type_form->isDataValid($errors)) { SJB_ListingTypeManager::saveListingType($listing_type); $this->createListingTypePage($listing_type); $listingTypeID = $listing_type->getID(); if (in_array($listingTypeID, array('Job', 'Resume'))) { $title = $listing_type->getPropertyValue('name'); } else { $title = $listing_type->getPropertyValue('name') . ' Listing'; } $pageInfo = array('page_id' => 'Post' . $listingTypeID, 'page_name' => 'Post ' . $title); $page = new SJB_PostingPages($pageInfo, $listing_type->getSID()); SJB_PostingPagesManager::savePage($page); SJB_PageManager::addPage(array('uri' => '/' . strtolower($listingTypeID) . '-preview/', 'module' => 'classifieds', 'function' => 'display_my_listing', 'template' => '', 'title' => $title . ' Preview', 'access_type' => 'user', 'parameters' => array('display_template' => 'display_listing.tpl'), 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 1)); SJB_PageManager::addPage(array('uri' => '/my-' . strtolower($listingTypeID) . '-details/', 'module' => 'classifieds', 'function' => 'display_my_listing', 'template' => '', 'title' => 'My ' . $title . ' Details', 'access_type' => 'user', 'parameters' => array('display_template' => 'display_listing.tpl'), 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 1)); SJB_PageManager::addPage(array('uri' => '/print-my-' . strtolower($listingTypeID) . '/', 'module' => 'classifieds', 'function' => 'display_my_listing', 'template' => 'blank.tpl', 'title' => 'Print ' . $title, 'access_type' => 'user', 'parameters' => array('display_template' => 'print_listing.tpl', 'listing_type_id' => $listingTypeID), 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 0)); SJB_PageManager::addPage(array('uri' => '/print-' . strtolower($listingTypeID) . '/', 'module' => 'classifieds', 'function' => 'display_listing', 'template' => 'blank.tpl', 'title' => 'Print ' . $title, 'access_type' => 'user', 'parameters' => array('display_template' => 'print_listing.tpl', 'listing_type_id' => $listingTypeID), 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 0)); SJB_PageManager::addPage(array('uri' => '/manage-' . strtolower($listingTypeID) . '/', 'module' => 'classifieds', 'function' => 'manage_listing', 'template' => '', 'title' => 'Manage ' . $title, 'access_type' => 'user', 'parameters' => array(), 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 1)); SJB_PageManager::addPage(array('uri' => '/edit-' . strtolower($listingTypeID) . '/', 'module' => 'classifieds', 'function' => 'edit_listing', 'template' => '', 'title' => 'Edit ' . $title, 'access_type' => 'user', 'parameters' => '', 'keywords' => '', 'description' => '', 'pass_parameters_via_uri' => 0)); $breadCrumbs = new SJB_Breadcrumbs(); $parentId = $breadCrumbs->getElementByUri('/my-listings/'); $uri = '/my-listings/' . $listingTypeID . '/'; $breadCrumbs->addElement('My ' . $title . 's', $uri, $parentId); $newBreadcrumbId = $breadCrumbs->getElementByUri($uri); $breadCrumbs->addElement('My ' . $title . ' Preview', '/my-' . strtolower($listingTypeID) . '-details/', $newBreadcrumbId); $breadCrumbs->addElement('Edit ' . $title, '/edit-' . strtolower($listingTypeID) . '/', $newBreadcrumbId); $breadCrumbs->addElement('Manage ' . $title, '/manage-' . strtolower($listingTypeID) . '/', $newBreadcrumbId); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/listing-types/"); } else { $template_processor = SJB_System::getTemplateProcessor(); $template_processor->assign("errors", $errors); $add_listing_type_form->registerTags($template_processor); $template_processor->assign("form_fields", $add_listing_type_form->getFormFieldsInfo()); $template_processor->display("add_listing_type.tpl"); } }
public static function doesParentPageExist($uri, $access_type) { $parentUri = SJB_PageManager::getPageParentURI($uri, $access_type); return !empty($parentUri) && $parentUri != '/'; }
public static function getUserPageParentURI($uri) { return SJB_PageManager::getPageParentURI($uri, SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE')); }
function definePageExisting() { $this->page_exists = SJB_PageManager::doesPageExists($this->uri, SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE')); }
/** * @param string $selectedSids * @return string */ private function getParentsSid($selectedSids) { $table = in_array('users', SJB_PageManager::getPageModule()) || SJB_Navigator::getURI() == '/registration-social/' ? 'user_profile_field_tree' : 'listing_field_tree'; $result = SJB_DB::query("SELECT `parent_sid`, `level` FROM `{$table}` WHERE `sid` IN (?w)", $selectedSids); $parentSids = ''; $allSids = ''; foreach ($result as $value) { $allSids .= ',' . $value['parent_sid']; if ($value['level'] > 2) { $parentSids .= empty($parentSids) ? $value['parent_sid'] : ',' . $value['parent_sid']; } } if (!empty($parentSids)) { $allSids .= $this->getParentsSid($parentSids); } return $allSids; }