Example #1
0
    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);
    }
Example #2
0
 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");
     }
 }
Example #3
0
 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');
 }
Example #4
0
 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();
 }
Example #5
0
 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");
     }
 }
Example #6
0
 public static function doesParentPageExist($uri, $access_type)
 {
     $parentUri = SJB_PageManager::getPageParentURI($uri, $access_type);
     return !empty($parentUri) && $parentUri != '/';
 }
Example #7
0
 public static function getUserPageParentURI($uri)
 {
     return SJB_PageManager::getPageParentURI($uri, SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'));
 }
Example #8
0
 function definePageExisting()
 {
     $this->page_exists = SJB_PageManager::doesPageExists($this->uri, SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE'));
 }
Example #9
0
 /**
  * @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;
 }