Ejemplo n.º 1
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");
     }
 }
Ejemplo n.º 2
0
 public static function updateBreadcrumbsByListingTypeSID($listingTypeSID, $newListingTypeName)
 {
     $listingTypeID = SJB_ListingTypeManager::getListingTypeIDBySID($listingTypeSID);
     if (!in_array($listingTypeID, array('Job', 'Resume'))) {
         $newListingTypeName = $newListingTypeName . ' Listing';
     }
     $breadcrumb = new SJB_Breadcrumbs();
     $uris = self::getBreadcrumbsUrisByListingTypeID($listingTypeID);
     foreach ($uris as $uri) {
         $title = '';
         switch ($uri) {
             case '/my-listings/' . $listingTypeID . '/':
                 $title = 'My ' . $newListingTypeName . 's';
                 break;
             case '/my-' . strtolower($listingTypeID) . '-details/':
                 $title = 'My ' . $newListingTypeName . ' Preview';
                 break;
             case '/edit-' . strtolower($listingTypeID) . '/':
                 $title = 'Edit ' . $newListingTypeName;
                 break;
             case '/manage-' . strtolower($listingTypeID) . '/':
                 $title = 'Manage ' . $newListingTypeName;
                 break;
         }
         if (empty($title)) {
             continue;
         }
         $breadcrumbID = $breadcrumb->getElementByUri($uri);
         $breadcrumb->updateElement($title, $uri, $breadcrumbID);
     }
 }