Exemple #1
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $listingTypeID = SJB_Request::getVar('listing_type_id', '');
     if (SJB_UserManager::isUserLoggedIn()) {
         if (!SJB_Acl::getInstance()->isAllowed('save_' . trim($listingTypeID))) {
             $errors[] = 'DENIED_VIEW_SAVED_LISTING';
         }
         if (!$errors) {
             $userSid = SJB_UserManager::getCurrentUserSID();
             if (SJB_Request::getVar('action', '') == 'delete') {
                 $listing_id = SJB_Request::getVar('listing_id', null);
                 if (!is_null($listing_id)) {
                     foreach ($listing_id as $key => $value) {
                         SJB_SavedListings::deleteListingFromDBBySID($key, $userSid);
                     }
                     SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . SJB_Navigator::getURI());
                 }
             }
             $saved_listings_id = SJB_SavedListings::getSavedListingsFromDB($userSid);
             $listings_structure = array();
             $listing_structure_meta_data = array();
             foreach ($saved_listings_id as $saved_listing) {
                 $saved_listing_id = $saved_listing['listing_sid'];
                 $listing = SJB_ListingManager::getObjectBySID($saved_listing_id);
                 if (is_null($listing)) {
                     continue;
                 }
                 $listing->addPicturesProperty();
                 $listing_structure = SJB_ListingManager::createTemplateStructureForListing($listing);
                 $listings_structure[$listing->getID()] = $listing_structure;
                 $listings_structure[$listing->getID()]['saved_listing'] = $saved_listing;
                 if (isset($listing_structure['METADATA'])) {
                     $listing_structure_meta_data = array_merge($listing_structure_meta_data, $listing_structure['METADATA']);
                 }
             }
             $metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
             $tp->assign("METADATA", array("listing" => $metaDataProvider->getMetaData($listing_structure_meta_data)));
             $tp->assign("listings", $listings_structure);
             $tp->assign("listing_type_id", $listingTypeID);
             $tp->display("saved_listings.tpl");
         } else {
             $tp->assign("errors", $errors);
             $tp->display("save_search_failed.tpl");
         }
     } else {
         $url = base64_encode(SJB_System::getSystemSettings("SITE_URL") . "/system/classifieds" . SJB_System::getURI());
         switch ($listingTypeID) {
             case 'job':
                 $url = base64_encode(SJB_System::getSystemSettings("SITE_URL") . "/saved-jobs/");
                 break;
             case 'resume':
                 $url = base64_encode(SJB_System::getSystemSettings("SITE_URL") . "/saved-resumes/");
                 break;
         }
         $tp->assign("return_url", $url);
         $tp->display("../users/login.tpl");
     }
 }
    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);
    }
 /**
  * @param int $listingSID
  * @return bool
  */
 public function postListing($listingSID)
 {
     $linkedIn = new SJB_LinkedIn();
     $linkedIn->_getAccessToken(unserialize($this->feedInfo['access_token']));
     $listing = SJB_ListingManager::getObjectBySID($listingSID);
     if (!$listing instanceof SJB_Listing) {
         $params = array($listingSID);
         $message = 'Listing #$param_0 does not exist in system';
         throw new SJB_FeedException($message, $params);
     }
     $listingStructure = SJB_ListingManager::createTemplateStructureForListing($listing);
     $link = SJB_ListingManager::getListingUrlBySID($listingSID);
     $userInfo = SJB_Array::get($listingStructure, 'user');
     $this->tp->assign('post_template', $this->feedInfo['post_template']);
     $this->tp->assign('listing', $listingStructure);
     $this->tp->assign('user', $userInfo);
     $title = $this->tp->fetch($this->template);
     if ($this->feedInfo['post_to_updates']) {
         $post['content'] = self::getContentToPostToUpdates($title, $listingStructure['Title'], $link, $userInfo['Logo']['file_url']);
         $linkedIn->postToUpdates($post);
     }
     if (!empty($this->feedInfo['post_to_groups']) && !empty($this->feedInfo['groups'])) {
         $post['content'] = self::getContentToPostToGroup($title, $listingStructure['Title'], $link, $userInfo['Logo']['file_url']);
         $post['groups'] = explode(',', $this->feedInfo['groups']);
         $linkedIn->postToGroups($post);
     }
     return true;
 }
Exemple #4
0
 public function execute()
 {
     $listing_id = isset($_REQUEST['listing_id']) ? $_REQUEST['listing_id'] : null;
     $listing = SJB_ListingManager::getObjectBySID($listing_id);
     $current_user = SJB_UserManager::getCurrentUser();
     $template_processor = SJB_System::getTemplateProcessor();
     if (is_null($listing_id)) {
         $errors['PARAMETERS_MISSED'] = 1;
     } elseif (empty($current_user)) {
         $errors['NOT_LOGGED_IN'] = 1;
     } elseif (is_null($listing)) {
         $errors['WRONG_PARAMETERS_SPECIFIED'] = 1;
     } elseif ($listing->getUserSID() != $current_user->getSID()) {
         $errors['NOT_OWNER'] = 1;
     } else {
         $productInfo = $listing->getProductInfo();
         $listing_info = SJB_ListingManager::getListingInfoBySID($listing_id);
         $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($listing_info['listing_type_sid']);
         $waitApprove = $listing_type_info['waitApprove'];
         $listing_info['type'] = array('id' => $listing_type_info['id'], 'caption' => $listing_type_info['name']);
         $listing_info['product'] = $productInfo;
         $template_processor->assign("listing", $listing_info);
         $contract_id = $listing_info['contract_id'];
         $template_processor->assign("waitApprove", $waitApprove);
     }
     $template_processor->assign("errors", isset($errors) ? $errors : null);
     $template_processor->display("manage_listing.tpl");
 }
 public function execute()
 {
     $count_listing = SJB_Request::getVar('count_listing', 10);
     $listings_structure = array();
     $listing_structure_meta_data = array();
     $tp = SJB_System::getTemplateProcessor();
     if (SJB_UserManager::isUserLoggedIn()) {
         $user_sid = SJB_UserManager::getCurrentUserSID();
         $viewed_listings = SJB_UserManager::getRecentlyViewedListingsByUserSid($user_sid, $count_listing);
         if (count($viewed_listings)) {
             foreach ($viewed_listings as $viewed_listing) {
                 $listing = SJB_ListingManager::getObjectBySID($viewed_listing['listing_sid']);
                 if (empty($listing)) {
                     continue;
                 }
                 $listing_structure = SJB_ListingManager::createTemplateStructureForListing($listing);
                 $listings_structure[] = $listing_structure;
                 if (isset($listing_structure['METADATA'])) {
                     $listing_structure_meta_data = array_merge($listing_structure_meta_data, $listing_structure['METADATA']);
                 }
             }
             $metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
             $tp->assign("METADATA", array("listing" => $metaDataProvider->getMetaData($listing_structure_meta_data)));
             $tp->assign("listings", $listings_structure);
         }
         $tp->display('recently_viewed_listings.tpl');
     }
 }
Exemple #6
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $listingSID = SJB_Request::getVar('listing_id', false);
     if ($listingSID == false) {
         $errors['UNDEFINED_LISTING_ID'] = 1;
     } else {
         $queryParams = '';
         $userInfo = SJB_UserManager::getCurrentUserInfo();
         // if logged user
         if (!empty($userInfo)) {
             $firstName = !empty($userInfo['FirstName']) ? $userInfo['FirstName'] : false;
             $lastName = !empty($userInfo['LastName']) ? $userInfo['LastName'] : false;
             $town = !empty($userInfo['City']) ? $userInfo['City'] : false;
             $postCode = !empty($userInfo['ZipCode']) ? $userInfo['ZipCode'] : false;
             $email = !empty($userInfo['email']) ? $userInfo['email'] : false;
             $phone = !empty($userInfo['PhoneNumber']) ? $userInfo['PhoneNumber'] : false;
             // Optional prefilled params for apply for JogG8
             //	  * Title
             //    * FirstName
             //    * LastName
             //    * Town
             //    * PostCode
             //    * HomeTelephone
             //    * WorkTelephone
             //    * Mobile
             //    * Email
             //    * ContactedPreviously
             if ($firstName) {
                 $queryParams .= '&FirstName=' . urlencode($firstName);
             }
             if ($lastName) {
                 $queryParams .= '&LastName=' . urlencode($lastName);
             }
             if ($town) {
                 $queryParams .= '&Town=' . urlencode($town);
             }
             if ($postCode) {
                 $queryParams .= '&PostCode=' . urlencode($postCode);
             }
             if ($phone) {
                 $queryParams .= '&Mobile=' . urlencode($phone);
             }
             if ($email) {
                 $queryParams .= '&Email=' . urlencode($email);
             }
         }
         $listing = SJB_ListingManager::getObjectBySID($listingSID);
         if (!$listing) {
             $errors['WRONG_LISTING_ID_SPECIFIED'] = 1;
         } else {
             $applicationSettings = $listing->getPropertyValue('ApplicationSettings');
             $tp->assign('applicationURL', $applicationSettings['value'] . $queryParams);
         }
     }
     $tp->assign('errors', $errors);
     $tp->display("apply_now_jobg8.tpl");
 }
Exemple #7
0
 public function execute()
 {
     $listing_id = SJB_Request::getVar('listing_id', null);
     $tp = SJB_System::getTemplateProcessor();
     if (isset($_REQUEST['action'])) {
         $action = strtolower($_REQUEST['action']);
         $comment_id = SJB_Request::getVar('comment_id', null);
         if (is_null($listing_id) && !is_null($comment_id)) {
             $listing_id = SJB_CommentManager::getListingSIDByCommentSID($comment_id);
         }
         $comment_ids = array();
         if (isset($_REQUEST['comment']) && is_array($_REQUEST['comment'])) {
             $comment_ids = array_keys($_REQUEST['comment']);
         } else {
             $comment_ids = array($comment_id);
         }
         switch ($action) {
             case 'delete':
                 foreach ($comment_ids as $comment_id) {
                     SJB_CommentManager::deleteComment($comment_id);
                 }
                 break;
             case 'disable':
                 foreach ($comment_ids as $comment_id) {
                     SJB_CommentManager::disableComment($comment_id);
                 }
                 break;
             case 'enable':
                 foreach ($comment_ids as $comment_id) {
                     SJB_CommentManager::enableComment($comment_id);
                 }
                 break;
             case 'edit':
                 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                     SJB_DB::query("UPDATE `comments` SET `message` = ?s WHERE `sid` = ?n", $_REQUEST['message'], $comment_id);
                 } else {
                     $listingInfo = SJB_ListingManager::getListingInfoBySID($listing_id);
                     $listingTypeInfo = SJB_ListingTypeManager::getListingTypeInfoBySID($listingInfo['listing_type_sid']);
                     $tp->assign('listingType', SJB_ListingTypeManager::createTemplateStructure($listingTypeInfo));
                     $tp->assign('comment', SJB_CommentManager::getObjectInfoBySID('comments', $comment_id));
                     $tp->display('edit_comment.tpl');
                     return;
                 }
                 break;
         }
         header('Location: ' . SJB_System::getSystemSettings('SITE_URL') . '/listing-comments/?listing_id=' . $listing_id);
         exit;
     }
     if (!is_null($listing_id)) {
         $comments = SJB_CommentManager::getCommentsToListing($listing_id);
         $listingInfo = SJB_ListingManager::getListingInfoBySID($listing_id);
         $listingTypeInfo = SJB_ListingTypeManager::getListingTypeInfoBySID($listingInfo['listing_type_sid']);
         $tp->assign('comments', $comments);
         $tp->assign('comments_num', count($comments));
         $tp->assign('listing_id', $listing_id);
         $tp->assign('listingType', SJB_ListingTypeManager::createTemplateStructure($listingTypeInfo));
         $tp->display('listing_comments.tpl');
     }
 }
 /**
  * @param $listingSID
  * @return array|bool
  */
 private static function getButtonDetailsStructureByListingSID($listingSID)
 {
     $listingInfo = SJB_ListingManager::getListingInfoBySID($listingSID);
     if (!empty($listingInfo)) {
         return array('link' => SJB_ListingManager::getListingUrlBySID($listingSID), 'shorten_url' => SJB_BitlyManager::getBitlyShortenUrlByListingSid($listingSID), 'title' => $listingInfo['Title']);
     }
     return false;
 }
Exemple #9
0
 public function execute()
 {
     $listingSID = SJB_Request::getVar('listing_id', false);
     if (!empty($listingSID)) {
         $metaOpenGraph = SJB_ListingManager::setMetaOpenGraph($listingSID);
         echo $metaOpenGraph;
     }
 }
Exemple #10
0
 public function sync()
 {
     $listingInfo = SJB_ListingManager::getListingInfoBySID($this->listingSID);
     $oCurListing = SJB_ObjectMother::createListing($listingInfo, SJB_ListingTypeManager::getListingTypeSIDByID('Resume'));
     $this->facebookSocialPlugin->fillObjectOutSocialData($oCurListing);
     $oCurListing->setSID($this->listingSID);
     SJB_ListingManager::saveListing($oCurListing);
 }
 public static function createTemplateStructureForListingTypes()
 {
     $listing_types_info = SJB_ListingTypeManager::getAllListingTypesInfo();
     $structure = array();
     foreach ($listing_types_info as $listing_type_info) {
         $structure[$listing_type_info['id']] = array('sid' => $listing_type_info['sid'], 'id' => $listing_type_info['id'], 'caption' => $listing_type_info['name'], 'listing_number' => SJB_ListingManager::getListingsNumberByListingTypeSID($listing_type_info['sid']));
     }
     return $structure;
 }
Exemple #12
0
 public function execute()
 {
     $templateProcessor = SJB_System::getTemplateProcessor();
     $listingSid = isset($_REQUEST['listing_id']) ? $_REQUEST['listing_id'] : null;
     $listing = SJB_ListingManager::getObjectBySID($listingSid);
     if (!is_null($listing) && !$listing->isActive()) {
         $listingInfo = SJB_ListingManager::getListingInfoBySID($listingSid);
         $productInfo = !empty($listingInfo['product_info']) ? unserialize($listingInfo['product_info']) : array();
         if (isset($listingInfo['complete']) && $listingInfo['complete'] == 1 && $listingInfo['checkouted'] == 1) {
             $subTotalPrice = 0;
             // проверить истек ли листинг, если истек , прайс прировнять к renewal_price
             if (SJB_ListingManager::getIfListingHasExpiredBySID($listing->getID()) && isset($productInfo['renewal_price'])) {
                 $subTotalPrice = $productInfo['renewal_price'];
             }
             $userSid = $listing->getUserSID();
             $productSid = $productInfo['product_sid'];
             $listingTitle = $listing->getProperty('Title')->getValue();
             $listingTypeSid = $listing->getListingTypeSID();
             $listingTypeId = SJB_ListingTypeManager::getListingTypeIDBySID($listingTypeSid);
             $newProductName = "Reactivation of \"{$listingTitle}\" {$listingTypeId}";
             $newProductInfo = SJB_ShoppingCart::createInfoForCustomProduct($userSid, $productSid, $listingSid, $subTotalPrice, $newProductName, 'activateListing');
             if ($subTotalPrice <= 0) {
                 if (SJB_ListingManager::activateListingBySID($listing->getSID())) {
                     SJB_Notifications::sendUserListingActivatedLetter($listing, $listing->getUserSID());
                 }
             } else {
                 SJB_ShoppingCart::createCustomProduct($newProductInfo, $userSid);
                 $shoppingUrl = SJB_System::getSystemSettings('SITE_URL') . '/shopping-cart/';
                 SJB_HelperFunctions::redirect($shoppingUrl);
             }
             $templateProcessor->assign('listingTypeID', SJB_ListingTypeManager::getListingTypeIDBySID($listingTypeSid));
         } elseif ($listingInfo['checkouted'] == 0) {
             $productsInfoFromShopppingCart = SJB_ShoppingCart::getProductsInfoFromCartByProductSID($productInfo['product_sid'], $listing->getUserSID());
             if (empty($productsInfoFromShopppingCart)) {
                 $productInfoToShopCart = SJB_ProductsManager::getProductInfoBySID($productInfo['product_sid']);
                 $productInfo['number_of_listings'] = 1;
                 $productObj = new SJB_Product($productInfoToShopCart, $productInfoToShopCart['product_type']);
                 $productObj->setNumberOfListings($productInfoToShopCart['number_of_listings']);
                 $productInfoToShopCart['price'] = $productObj->getPrice();
                 SJB_ShoppingCart::addToShoppingCart($productInfoToShopCart, $listing->getUserSID());
             }
             SJB_HelperFunctions::redirect(SJB_System::getSystemsettings('SITE_URL') . '/shopping-cart/');
         } else {
             $errors['LISTING_IS_NOT_COMPLETE'] = 1;
         }
     } elseif (is_null($listingSid)) {
         $errors['INVALID_LISTING_ID'] = 1;
     } elseif (!is_null($listing) && $listing->isActive()) {
         $errors['LISTING_ALREADY_ACTIVE'] = 1;
     } else {
         $errors['WRONG_LISTING_ID_SPECIFIED'] = 1;
     }
     $templateProcessor->assign("errors", isset($errors) ? $errors : null);
     $templateProcessor->display("pay_for_listing.tpl");
 }
Exemple #13
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $count_listing = SJB_Request::getVar('count_listing', 10, null, 'int');
     $current_user = SJB_UserManager::getCurrentUser();
     if (SJB_UserManager::isUserLoggedIn()) {
         $lastAddedListing = SJB_ListingManager::getLastAddedListingByUserSID($current_user->getSID());
         if ($lastAddedListing) {
             $properties = $current_user->getProperties();
             $phrase['title'] = $lastAddedListing->getPropertyValue('Title');
             foreach ($properties as $property) {
                 if ($property->getType() == 'location') {
                     $fields = $property->type->child;
                     $childProperties = $fields->getProperties();
                     foreach ($childProperties as $childProperty) {
                         if (in_array($childProperty->getID(), array('City', 'State', 'Country'))) {
                             $value = $childProperty->getValue();
                             switch ($childProperty->getType()) {
                                 case 'list':
                                     if ($childProperty->getID() == 'State') {
                                         $displayAS = $childProperty->display_as;
                                         $displayAS = $displayAS ? $displayAS : 'state_name';
                                         $listValues = SJB_StatesManager::getStatesNamesByCountry(false, true, $displayAS);
                                     } else {
                                         $listValues = $childProperty->type->list_values;
                                     }
                                     foreach ($listValues as $values) {
                                         if ($value == $values['id']) {
                                             $phrase[strtolower($childProperty->getID())] = $values['caption'];
                                         }
                                     }
                                     break;
                                 default:
                                     $phrase[strtolower($childProperty->getID())] = $value;
                                     break;
                             }
                         }
                     }
                 }
             }
             $phrase = array_diff($phrase, array(''));
             $phrase = implode(" ", $phrase);
             $listing_type_id = "Job";
             $request['action'] = 'search';
             $request['listing_type']['equal'] = $listing_type_id;
             $request['default_listings_per_page'] = $count_listing;
             $request['default_sorting_field'] = "activation_date";
             $request['default_sorting_order'] = "DESC";
             $request['keywords']['relevance'] = $phrase;
             $searchResultsTP = new SJB_SearchResultsTP($request, $listing_type_id, array('field' => 'keywords', 'value' => $phrase));
             $tp = $searchResultsTP->getChargedTemplateProcessor();
         }
         $tp->display('suggested_jobs.tpl');
     }
 }
Exemple #14
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $listing_id = SJB_Request::getVar('listing_id', null);
     $listingInfo = SJB_ListingManager::getListingInfoBySID($listing_id);
     $listingTypeInfo = SJB_ListingTypeManager::getListingTypeInfoBySID($listingInfo['listing_type_sid']);
     $display_form = new SJB_Form();
     $display_form->registerTags($tp);
     if (is_null($listing_id)) {
         $errors['LISTING_ID_DOESNOT_SPECIFIED'] = $listing_id;
     } else {
         $listing = SJB_ListingManager::getObjectBySID($listing_id);
         $filename = SJB_Request::getVar('filename', false);
         if ($filename) {
             $file = SJB_UploadFileManager::openFile($filename, $listing_id);
             $errors['NO_SUCH_FILE'] = true;
         }
         if (!empty($listing)) {
             $listing->addPicturesProperty();
             if ($listing->listing_type_sid == 6) {
                 $listing->deleteProperty('access_type');
                 $listing->deleteProperty('anonymous');
             }
             $access_type_properties = $listing->getProperty('access_type');
             $tp->assign('access_type_properties', $access_type_properties);
             $listing_structure = SJB_ListingManager::createTemplateStructureForListing($listing);
             $tp->assign("listing", $listing_structure);
             $display_form = new SJB_Form($listing);
             $display_form->registerTags($tp);
             $form_fields = $display_form->getFormFieldsInfo();
             $tp->assign("form_fields", $form_fields);
             $waitApprove = SJB_ListingTypeManager::getWaitApproveSettingByListingType($listing->listing_type_sid);
             $tp->assign('wait_approve', $waitApprove);
         } else {
             $errors['LISTING_DOESNOT_EXIST'] = $listing_id;
         }
     }
     $comments = SJB_CommentManager::getEnabledCommentsToListing($listing_id);
     $comments_total = count($comments);
     $rate = SJB_Rating::getRatingNumToListing($listing_id);
     $displayTemplate = SJB_Request::getVar('display_template', 'display_listing.tpl');
     $videoFileId = SJB_Request::getVar('videoFileId', false);
     if ($videoFileId) {
         $videoFileLink = SJB_UploadFileManager::getUploadedFileLink($videoFileId);
         $tp->assign('videoFileLink', $videoFileLink);
     }
     $tp->assign('listingType', SJB_ListingTypeManager::createTemplateStructure($listingTypeInfo));
     $tp->assign('errors', $errors);
     $tp->assign('comments_total', $comments_total);
     $tp->assign('rate', $rate);
     SJB_System::setGlobalTemplateVariable('wikiExtraParam', $listingTypeInfo['id']);
     $tp->display($displayTemplate);
 }
Exemple #15
0
 public function execute()
 {
     $template_processor = SJB_System::getTemplateProcessor();
     $listingId = SJB_Request::getVar('listing_id', null, 'default', 'int');
     $listingType = SJB_Request::getVar('listing_type', null);
     if (!$listingType) {
         if ($listingId) {
             $listingInfo = SJB_ListingManager::getListingInfoBySID($listingId);
             $listingType = SJB_ListingTypeManager::getListingTypeIDBySID($listingInfo['listing_type_sid']);
         } else {
             $listingType = 'job';
         }
     }
     $displayForm = SJB_Request::getVar('displayForm', false);
     $error = null;
     if (!SJB_Acl::getInstance()->isAllowed('save_' . trim($listingType))) {
         $error = 'DENIED_SAVE_LISTING';
     }
     if (SJB_UserManager::isUserLoggedIn()) {
         if (!$error) {
             if (!is_null($listingId)) {
                 if (SJB_UserManager::isUserLoggedIn()) {
                     SJB_SavedListings::saveListingOnDB($listingId, SJB_UserManager::getCurrentUserSID());
                     SJB_Statistics::addStatistics('saveListing', SJB_ListingTypeManager::getListingTypeSIDByID($listingType), $listingId);
                 } else {
                     SJB_SavedListings::saveListingInCookie($listingId);
                 }
                 $template_processor->assign('saved_listing', SJB_SavedListings::getSavedListingsByUserAndListingSid(SJB_UserManager::getCurrentUserSID(), $listingId));
             } else {
                 $error = 'LISTING_ID_NOT_SPECIFIED';
             }
         }
         $params = SJB_Request::getVar('params', false);
         $searchId = SJB_Request::getVar('searchId', false);
         $page = SJB_Request::getVar('page', false);
         $template_processor->assign("params", $params);
         $template_processor->assign("searchId", $searchId);
         $template_processor->assign("page", $page);
         $template_processor->assign("listing_type", $listingType);
         $template_processor->assign("listing_sid", $listingId);
         $template_processor->assign("from_login", SJB_Request::getVar("from_login", false));
         $template_processor->assign("error", $error);
         $template_processor->assign("displayForm", $displayForm);
         $template_processor->assign("view", SJB_Request::getVar('view'));
         $template_processor->display("save_listing.tpl");
     } else {
         $template_processor->assign("return_url", base64_encode(SJB_Navigator::getURIThis() . "&from_login=1"));
         $template_processor->assign("ajaxRelocate", true);
         $template_processor->display("../users/login.tpl");
     }
 }
 public function execute()
 {
     $listing_id = SJB_Request::getVar('listing_id', null);
     $listing_info = SJB_ListingManager::getListingInfoBySID($listing_id);
     $field_id = SJB_Request::getVar('field_id', null);
     $current_user_sid = SJB_UserManager::getCurrentUserSID();
     $owner_sid = SJB_ListingManager::getUserSIDByListingSID($listing_id);
     $errors = array();
     $complexEmun = SJB_Request::getVar('complexEnum', null, 'GET');
     $complexFieldID = SJB_Request::getVar('complexParent', null, 'GET');
     if (!is_null($complexEmun) && !is_null($complexFieldID)) {
         $fieldArr = array();
         array_push($fieldArr, $complexFieldID);
         array_push($fieldArr, $field_id);
         array_push($fieldArr, $complexEmun);
         $field_id = $complexFieldID . ':' . $field_id . $complexEmun . '_' . $listing_id;
     } else {
         $fieldArr = explode(':', $field_id);
         $complexEmun = isset($fieldArr[2]) ? explode('_', $fieldArr[2]) : false;
         $complexEmun = $complexEmun ? $complexEmun[0] : false;
     }
     if (is_null($listing_id) || is_null($field_id)) {
         $errors['PARAMETERS_MISSED'] = 1;
     } else {
         if (is_null($listing_info) || $complexEmun === false || !isset($listing_info[$fieldArr[0]][$fieldArr[1]][$complexEmun])) {
             $errors['WRONG_PARAMETERS_SPECIFIED'] = 1;
         } else {
             if ($owner_sid != $current_user_sid) {
                 $errors['NOT_OWNER'] = 1;
             } else {
                 $uploaded_file_id = $listing_info[$fieldArr[0]][$fieldArr[1]][$complexEmun];
                 SJB_UploadFileManager::deleteUploadedFileByID($uploaded_file_id);
                 $listing_info[$field_id] = '';
                 $listing = new SJB_Listing($listing_info, $listing_info['listing_type_sid']);
                 $props = $listing->getProperties();
                 foreach ($props as $prop) {
                     if ($prop->getID() !== $field_id) {
                         $listing->deleteProperty($prop->getID());
                     }
                 }
                 $listing->setSID($listing_id);
                 SJB_ListingManager::saveListing($listing);
             }
         }
     }
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign('errors', $errors);
     $tp->assign('listing_id', $listing_id);
     $tp->display('delete_uploaded_file.tpl');
 }
 function SJB_SendListingInfoController($input_data)
 {
     $listingId = isset($input_data['listing_id']) ? $input_data['listing_id'] : null;
     if (!empty($listingId)) {
         if (!is_numeric($listingId)) {
             throw new Exception("Invalid listing ID is specified");
         }
         $this->listing = SJB_ListingManager::getObjectBySID($listingId);
         if (!empty($this->listing)) {
             $this->listing = SJB_ListingManager::createTemplateStructureForListing($this->listing);
             $this->submitted_data = $input_data;
         }
     }
     return false;
 }
Exemple #18
0
 public function execute()
 {
     ini_set('max_execution_time', 0);
     $tp = SJB_System::getTemplateProcessor();
     $listingTypeId = SJB_Request::getVar('listing_type_id', 0);
     if (!$listingTypeId) {
         $listingTypeId = SJB_Request::getVar('listing_type', 0);
         if ($listingTypeId) {
             $listingTypeId = $listingTypeId['equal'];
         }
     }
     $exportProperties = SJB_Request::getVar('export_properties', array());
     $listing = SJB_ExportController::createListing($listingTypeId);
     $criteria = SJB_SearchFormBuilder::extractCriteriaFromRequestData($_REQUEST, $listing);
     $searchFormBuilder = new SJB_SearchFormBuilder($listing);
     $searchFormBuilder->registerTags($tp);
     $searchFormBuilder->setCriteria($criteria);
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         if (empty($exportProperties)) {
             SJB_FlashMessages::getInstance()->addWarning('EMPTY_EXPORT_PROPERTIES');
         } else {
             $searcher = new SJB_ListingSearcher();
             $searchAliases = SJB_ExportController::getSearchPropertyAliases();
             $foundListingsSid = $searcher->getObjectsSIDsByCriteria($criteria, $searchAliases);
             if (empty($foundListingsSid)) {
                 SJB_FlashMessages::getInstance()->addWarning('EMPTY_EXPORT_DATA');
             } else {
                 $result = SJB_ExportController::createExportDirectories();
                 if ($result === true) {
                     $exportProperties['extUserID'] = 1;
                     $exportAliases = SJB_ExportController::getExportPropertyAliases();
                     $exportData = SJB_ExportController::getExportData($foundListingsSid, $exportProperties, $exportAliases);
                     $fileName = 'export.xls';
                     SJB_ExportController::makeExportFile($exportData, $fileName);
                     if (!file_exists(SJB_System::getSystemSettings('EXPORT_FILES_DIRECTORY') . "/{$fileName}")) {
                         SJB_FlashMessages::getInstance()->addWarning('CANT_CREATE_EXPORT_FILES');
                     } else {
                         SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/archive-and-send-export-data');
                     }
                 }
             }
         }
     }
     $listingPropertiesId = SJB_ListingManager::getAllListingPropertiesID($listingTypeId);
     $tp->assign('properties_id', $listingPropertiesId);
     $tp->assign('selected_listing_type_id', $listingTypeId);
     $tp->display('export_listings.tpl');
 }
Exemple #19
0
 public function execute()
 {
     $ou = SJB_UserManager::getOnlineUsers();
     $onlineUsers = array();
     $totalOnlineUsers = 0;
     $userGroups = SJB_UserGroupManager::createTemplateStructureForUserGroups();
     foreach ($userGroups as $userGroup) {
         $onlineUsers[$userGroup["id"]]["count"] = 0;
         $onlineUsers[$userGroup["id"]]["caption"] = $userGroup["caption"];
     }
     foreach ($ou as $value) {
         $onlineUsers[$value["type"]]["count"]++;
         $totalOnlineUsers++;
     }
     $theme = SJB_Settings::getValue('TEMPLATE_USER_THEME', 'default');
     $themePath = SJB_TemplatePathManager::getAbsoluteThemePath($theme);
     // FLAGGED LISTINGS
     $allListingTypes = SJB_ListingTypeManager::getAllListingTypesInfo();
     $totalFlagsNum = array();
     foreach ($allListingTypes as $type) {
         $totalFlagsNum[$type['id']] = SJB_ListingManager::getFlagsNumberByListingTypeSID($type['sid'], $filter = null, $groupByListingSID = true);
     }
     $files = $this->getCssFiles($themePath);
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign('totalFlagsNum', $totalFlagsNum);
     $tp->assign('usersInfo', SJB_UserManager::getUsersInfo());
     $tp->assign('groupsInfo', SJB_UserManager::getGroupsInfo());
     $tp->assign('listingsInfo', SJB_ListingManager::getListingsInfo());
     $tp->assign('listingTypesInfo', SJB_ListingTypeManager::getAllListingTypesInfo());
     $tp->assign('invoicesInfo', SJB_InvoiceManager::getInvoicesInfo());
     $tp->assign('unpaidInvoices', SJB_InvoiceManager::getTotalUnpaidInvoices());
     $tp->assign('totalInvoices', SJB_InvoiceManager::getTotalInvoices());
     $i18n = SJB_I18N::getInstance();
     $lang = $i18n->getLanguageData($i18n->getCurrentLanguage());
     $tp->assign("today", strftime($lang['date_format'], time()));
     // ранее были данные за период: месяц (последние 30 дней), неделя (последние 7 дней)
     // теперь - текущий месяц и текущая неделя
     $currMonth = strftime($lang['date_format'], mktime(0, 0, 0, date("m"), 1, date("Y")));
     $currWeek = strftime($lang['date_format'], mktime(0, 0, 0, date("m"), date("d") - date("N") + 1, date("Y")));
     $tp->assign("weekAgo", $currWeek);
     $tp->assign("monthAgo", $currMonth);
     $tp->assign('onlineUsers', $onlineUsers);
     $tp->assign('totalOnlineUsers', $totalOnlineUsers);
     if (count($files) > 0) {
         $tp->assign("file", $files[0]);
     }
     $tp->display("index.tpl");
 }
Exemple #20
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $listingSID = SJB_Request::getVar('listing_id');
     $template = 'flag_listing.tpl';
     $errors = array();
     if ($listingSID) {
         // Flag listing
         $reason = SJB_Request::getVar('reason');
         $comment = SJB_Request::getVar('comment');
         $formSubmitted = SJB_Request::getVar('action');
         if ($formSubmitted) {
             SJB_Captcha::getInstance($tp, $_REQUEST)->isValid($errors);
         }
         $listing = SJB_ListingManager::getObjectBySID($listingSID);
         if (!empty($listing)) {
             $listingInfo = SJB_ListingManager::createTemplateStructureForListing($listing);
         } else {
             $errors['WRONG_LISTING_ID_SPECIFIED'] = 'Listing does not exist';
         }
         if ($formSubmitted == 'flag' && empty($errors)) {
             SJB_ListingManager::flagListingBySID($listingSID, $reason, $comment);
             // notify admin
             SJB_AdminNotifications::sendAdminListingFlaggedLetter($listing);
             $template = 'flag_listing_sended.tpl';
         } elseif (!empty($listing)) {
             // Show form to reason
             $reasons = array();
             if (is_numeric($listingSID) && is_numeric($listing->getListingTypeSID())) {
                 $reasons = SJB_DB::query("SELECT * FROM `flag_listing_settings` WHERE FIND_IN_SET(?n, `listing_type_sid`)", $listing->getListingTypeSID());
             }
             $tp->assign('flag_types', $reasons);
         }
         $tp->assign('listing_id', $listingSID);
         if (!empty($listingInfo)) {
             $tp->assign('listing_type_id', strtolower($listingInfo['type']['id']));
         }
         if (!empty($errors)) {
             $tp->assign('errors', $errors);
             $tp->assign('reason', $reason);
             $tp->assign('comment', $comment);
         }
     }
     $tp->display($template);
 }
Exemple #21
0
 /**
  * @param $listingSid
  * @return string
  */
 public static function getBitlyShortenUrlByListingSid($listingSid)
 {
     $listingInfo = SJB_ListingManager::getListingInfoBySID($listingSid);
     $listingType = strtolower(SJB_ListingTypeManager::getListingTypeIDBySID($listingInfo["listing_type_sid"]));
     $listingLongUrl = SJB_System::getSystemSettings("USER_SITE_URL") . "/display-{$listingType}/{$listingSid}/";
     self::$_shortenUrl = self::getListingBitlyShortedUrlBySid($listingSid);
     if (empty(self::$_shortenUrl)) {
         $oAuthUrl = self::$_bitlyOauthApi . "shorten?access_token=" . self::getBitlyTokenId() . "&longUrl=" . urlencode($listingLongUrl);
         $output = json_decode(self::bitlyCurl($oAuthUrl));
         if (isset($output->{"data"}->{"hash"})) {
             self::$_shortenUrl = $output->{"data"}->{"url"};
             self::saveBitlyShortenUrlByListingSid($listingSid);
         } else {
             return $listingLongUrl;
         }
     }
     return self::$_shortenUrl;
 }
 /**
  * @param $listingSID
  * @return mixed
  * @throws Exception
  */
 public function postListing($listingSID)
 {
     $listing = SJB_ListingManager::getObjectBySID($listingSID);
     if (!$listing instanceof SJB_Listing) {
         $params = array($listingSID);
         $message = 'Listing #$param_0 does not exist in system';
         throw new SJB_FeedException($message, $params);
     }
     $listingInfo = SJB_ListingManager::createTemplateStructureForListing($listing);
     $listingUrl = SJB_ListingManager::getListingUrlBySID($listingSID);
     $link = " {$listingUrl} {$this->feedInfo['hash_tags']}";
     $userInfo = SJB_Array::get($listingInfo, 'user');
     $this->tp->assign('post_template', $this->feedInfo['post_template']);
     $this->tp->assign('listing', $listingInfo);
     $this->tp->assign('user', $userInfo);
     $text = $this->tp->fetch($this->template);
     $picture = $userInfo['Logo']['file_url'] == null ? SJB_System::getSystemSettings('SITE_URL') . '/' . SJB_TemplatePathManager::getAbsoluteImagePath(SJB_TemplateSupplier::getUserCurrentTheme(), 'main', 'logo.png') : $userInfo['Logo']['file_url'];
     return $this->postToWall($listingSID, $text . $link, $listingUrl, $picture);
 }
Exemple #23
0
 public function execute()
 {
     $listingSid = SJB_Request::getVar("listing_id", null, 'default', 'int');
     if ($listingSid) {
         $listing = SJB_ListingManager::getObjectBySID($listingSid);
         if (!is_null($listing) && !$listing->isPriority()) {
             $productInfo = $listing->getProductInfo();
             if ($productInfo['priority']) {
                 SJB_ListingManager::makePriorityBySID($listingSid);
             } else {
                 $userSid = $listing->getUserSID();
                 $productSid = $productInfo['product_sid'];
                 $subTotalPrice = $productInfo['upgrade_to_priority_listing_price'];
                 $listingTitle = $listing->getProperty('Title')->getValue();
                 $listingTypeSid = $listing->getListingTypeSID();
                 $listingTypeId = SJB_ListingTypeManager::getListingTypeIDBySID($listingTypeSid);
                 $newProductName = "Upgrade of \"{$listingTitle}\" {$listingTypeId} to priority";
                 $newProductInfo = SJB_ShoppingCart::createInfoForCustomProduct($userSid, $productSid, $listingSid, $subTotalPrice, $newProductName, 'priorityListing');
                 if ($subTotalPrice <= 0) {
                     SJB_InvoiceManager::generateInvoice($newProductInfo, $userSid, $subTotalPrice, SJB_System::getSystemSettings('SITE_URL') . '/make-priority/');
                     SJB_ListingManager::makeFeaturedBySID($listingSid);
                 } else {
                     SJB_ShoppingCart::createCustomProduct($newProductInfo, $userSid);
                     $shoppingUrl = SJB_System::getSystemSettings('SITE_URL') . '/shopping-cart/';
                     SJB_HelperFunctions::redirect($shoppingUrl);
                 }
             }
         } else {
             if (is_null($listing)) {
                 $errors['INVALID_LISTING_ID'] = 1;
             } else {
                 $errors['LISTING_ALREADY_PRIORITY'] = 1;
             }
         }
     } else {
         $errors['PARAMETERS_MISSED'] = 1;
     }
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign("errors", isset($errors) ? $errors : null);
     $tp->display("make_listing_priority.tpl");
 }
Exemple #24
0
 public function execute()
 {
     $access_type = SJB_Request::getVar('access_type');
     $listing_id = SJB_Request::getVar('listing_id');
     $user_group_id = SJB_Request::getVar('user_group_id');
     $employersGroupSID = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id);
     $employersSIDs = SJB_UserManager::getUserSIDsByUserGroupSID($employersGroupSID);
     $employers = array();
     foreach ($employersSIDs as $emp) {
         $currEmp = SJB_UserManager::getUserInfoBySID($emp);
         if (isset($currEmp['CompanyName']) && $currEmp['CompanyName'] != '') {
             $employers[] = array('name' => $currEmp['CompanyName'], 'sid' => $emp);
         }
     }
     sort($employers);
     $tp = SJB_System::getTemplateProcessor();
     $listing_access_list = SJB_ListingManager::getListingAccessList($listing_id, $access_type);
     $tp->assign('listing_access_list', $listing_access_list);
     $tp->assign('employers', $employers);
     $tp->display('employers_list.tpl');
 }
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $listingTypeSID = 0;
     if (isset($_REQUEST['passed_parameters_via_uri'])) {
         $params = SJB_FixedUrlParamProvider::getParams($_REQUEST);
         if ($params) {
             $listingTypeID = array_pop($params);
             $listingTypeSID = SJB_ListingTypeManager::getListingTypeSIDByID($listingTypeID);
         }
     }
     if (!$listingTypeSID) {
         $errors['WRONG_LISTING_TYPE_ID_SPECIFIED'] = true;
     } else {
         $listing = new SJB_Listing(array(), $listingTypeSID);
         $listing->addIDProperty();
         $listing->addActivationDateProperty();
         $listing->addUsernameProperty();
         $listing->addKeywordsProperty();
         $listing->addPicturesProperty();
         $listing->addListingTypeIDProperty();
         $listing->addPostedWithinProperty();
         $listingTypeID = SJB_ListingTypeManager::getListingTypeIDBySID($listing->listing_type_sid);
         $display_form = new SJB_Form($listing);
         $display_form->registerTags($tp);
         $form_fields = $display_form->getFormFieldsInfo();
         $listing_structure = SJB_ListingManager::createTemplateStructureForListing($listing);
         $metaDataProvider = SJB_ObjectMother::getMetaDataProvider();
         $tp->assign('METADATA', array('listing' => $metaDataProvider->getMetaData($listing_structure['METADATA']), 'form_fields' => $metaDataProvider->getFormFieldsMetadata($form_fields)));
         $tp->assign('form_fields', $form_fields);
         $tp->filterThenAssign('listing', $listing_structure);
         $formBuilder = SJB_FormBuilderManager::getFormBuilder(SJB_FormBuilderManager::FORM_BUILDER_TYPE_DISPLAY, $listingTypeID);
         $formBuilder->setChargedTemplateProcessor($tp);
         $tp->assign('listingTypeInfo', SJB_ListingTypeManager::getListingTypeInfoBySID($listingTypeSID));
         $tp->assign('currentTheme', SJB_TemplateSupplier::getUserCurrentTheme());
     }
     $tp->assign('errors', $errors);
     $tp->display('bf_displaylisting.tpl');
 }
 public function execute()
 {
     $listing_id = SJB_Request::getVar('listing_id', null);
     $listing_info = SJB_ListingManager::getListingInfoBySID($listing_id);
     $listingTypeSID = SJB_ListingTypeManager::getListingTypeIDBySID($listing_info['listing_type_sid']);
     $field_id = SJB_Request::getVar('field_id', null);
     $current_user_sid = SJB_UserManager::getCurrentUserSID();
     $owner_sid = SJB_ListingManager::getUserSIDByListingSID($listing_id);
     $errors = array();
     if (is_null($listing_id) || is_null($field_id)) {
         $errors['PARAMETERS_MISSED'] = 1;
     } else {
         if (is_null($listing_info) || !isset($listing_info[$field_id])) {
             $errors['WRONG_PARAMETERS_SPECIFIED'] = 1;
         } else {
             if ($owner_sid != $current_user_sid) {
                 $errors['NOT_OWNER'] = 1;
             } else {
                 $uploaded_file_id = $listing_info[$field_id];
                 SJB_UploadFileManager::deleteUploadedFileByID($uploaded_file_id);
                 $listing_info[$field_id] = '';
                 $listing = new SJB_Listing($listing_info, $listing_info['listing_type_sid']);
                 $props = $listing->getProperties();
                 foreach ($props as $prop) {
                     if ($prop->getID() !== $field_id) {
                         $listing->deleteProperty($prop->getID());
                     }
                 }
                 $listing->setSID($listing_id);
                 SJB_ListingManager::saveListing($listing);
             }
         }
     }
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign('errors', $errors);
     $tp->assign('listing_id', $listing_id);
     $tp->assign('listingTypeSID', $listingTypeSID);
     $tp->display('delete_uploaded_file.tpl');
 }
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $action = SJB_Request::getVar('action');
     $template = 'task_scheduler_settings.tpl';
     $isPseudoCronEnabled = intval(SJB_Settings::getSettingByName('isPseudoCronEnabled')) == 1;
     if (SJB_Request::getVar('command', null, 'post') == 'manage-pseudo-cron') {
         SJB_Settings::updateSetting('isPseudoCronEnabled', SJB_Request::getVar('isEnabled', 'off', 'post') == 'on' ? '1' : '0');
         SJB_Settings::updateSetting('numberOfPageViewsToExecCronIfExceeded', SJB_Request::getVar('numberOfPageViewsToExecCronIfExceeded', null, 'post'));
         SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/task-scheduler-settings');
     }
     $tp->assign('isPseudoCronEnabled', $isPseudoCronEnabled);
     $numberOfPageViewsToExecCronIfExceeded = intval(SJB_Settings::getSettingByName('numberOfPageViewsToExecCronIfExceeded'));
     $tp->assign('cronPath', SJB_BASE_DIR . 'cron/index.php');
     $tp->assign('numberOfPageViewsToExecCronIfExceeded', $numberOfPageViewsToExecCronIfExceeded);
     if ($action != 'log_view') {
         $last_executed_date = SJB_System::getSettingByName('task_scheduler_last_executed_date');
         $expired_listings_id = SJB_ListingManager::getExpiredListingsSID();
         $count_expired_listings = count($expired_listings_id);
         $expired_contracts_id = SJB_ContractManager::getExpiredContractsID();
         $count_expired_contracts = count($expired_contracts_id);
         $res = SJB_DB::query("SELECT * FROM `task_scheduler_log` ORDER BY `sid` DESC LIMIT 1");
         $tp->assign('last_executed_date', $last_executed_date);
         $tp->assign('task_scheduler_log', array_pop($res));
     } else {
         $log_file = array();
         $res = SJB_DB::query("SELECT `log_text` FROM `task_scheduler_log` ORDER BY `sid` DESC LIMIT 30");
         foreach ($res as $record) {
             $text = $record['log_text'];
             if ($text) {
                 $log_file[] = $text;
             }
         }
         $tp->assign('log_content', $log_file);
         $template = 'task_scheduler_log_view.tpl';
     }
     $tp->display($template);
 }
Exemple #28
0
 private function _createSchema(array $parameters)
 {
     $res = array();
     $i = 1;
     $parent = isset($parameters['parent']) ? $parameters['parent'] : false;
     while (isset($parameters['level' . $i . 'Field'])) {
         $field = $parameters['level' . $i . 'Field'];
         if (!empty($parent)) {
             $property = SJB_ListingManager::getPropertyByParentID($parent, $field);
             $field = $parent . '_' . $field;
         } else {
             $property = SJB_ListingManager::getPropertyByPropertyName($field);
         }
         if (empty($property)) {
             return $res;
         }
         $type = $property->getType();
         $treeLevel = $this->_getTreeLevel($type, $field);
         $res[] = array('field' => $field, 'treeLevel' => $treeLevel, 'homepage' => isset($parameters['homepage']) ? $parameters['homepage'] : 0, 'type' => $type, 'sid' => $property->getSID(), 'parent' => $parent);
         $i++;
     }
     return $res;
 }
Exemple #29
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $fatal_errors = array();
     $isDataSubmitted = false;
     try {
         $controller = new SJB_SendListingInfoController($_REQUEST);
     } catch (Exception $e) {
         $controller = false;
     }
     if (empty($controller)) {
         $fatal_errors['LISTING_ID_IS_NOT_NUMERIC'] = $e->getMessage();
     } elseif ($controller->isListingSpecified()) {
         if ($controller->isDataSubmitted()) {
             SJB_Captcha::getInstance($tp, $_REQUEST)->isValid($errors);
             if (!preg_match('^[a-zA-Z0-9\\._-]+@[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,}$^', $_REQUEST['friend_email'])) {
                 $errors['NOT_VALID_EMAIL_FORMAT'] = true;
             }
             if (empty($errors)) {
                 $data_to_send = $controller->getData();
                 if (!SJB_Notifications::sendTellFriendLetter($data_to_send)) {
                     $errors['SEND_ERROR'] = true;
                 }
                 $isDataSubmitted = true;
             }
         }
         $tp->assign('listing_info', SJB_ListingManager::createTemplateStructureForListing(SJB_ListingManager::getObjectBySID($controller->getListingID())));
     } else {
         $fatal_errors['UNDEFINED_LISTING_ID'] = true;
     }
     $tp->assign('fatal_errors', $fatal_errors);
     $tp->assign('errors', $errors);
     $tp->assign('info', SJB_Request::get());
     $tp->assign('is_data_submitted', $isDataSubmitted);
     $tp->display('tell_friend.tpl');
 }
Exemple #30
0
 public function execute()
 {
     $listing_id = isset($_REQUEST['listing_id']) ? $_REQUEST['listing_id'] : null;
     $template_processor = SJB_System::getTemplateProcessor();
     if (isset($_REQUEST['action'])) {
         $action = strtolower($_REQUEST['action']);
         $rating_id = isset($_REQUEST['rating_id']) ? $_REQUEST['rating_id'] : null;
         $comment_ids = array();
         if (isset($_REQUEST['rating']) && is_array($_REQUEST['rating'])) {
             $rating_ids = array_keys($_REQUEST['rating']);
         } else {
             $rating_ids = array($rating_id);
         }
         $listing_id = SJB_Rating::getListingSIDByRatingSID($rating_ids[0]);
         $listing_id = $listing_id[0]['listing_id'];
         switch ($action) {
             case 'delete':
                 foreach ($rating_ids as $rating_id) {
                     SJB_Rating::deleteRating($rating_id);
                 }
                 break;
         }
         header('Location: ' . SJB_System::getSystemSettings('SITE_URL') . '/listing-rating/?listing_id=' . $listing_id);
         exit;
     }
     if (!is_null($listing_id) && SJB_Settings::getSettingByName('show_rates') == 1) {
         $rating = SJB_Rating::getRatingListing($listing_id);
         $listingInfo = SJB_ListingManager::getListingInfoBySID($listing_id);
         $listingTypeInfo = SJB_ListingTypeManager::getListingTypeInfoBySID($listingInfo['listing_type_sid']);
         $template_processor->assign('rating', $rating);
         $template_processor->assign('listing_id', $listing_id);
         $template_processor->assign('rating_num', count($rating));
         $template_processor->assign('listingType', SJB_ListingTypeManager::createTemplateStructure($listingTypeInfo));
         $template_processor->display('listing_rating.tpl');
     }
 }