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; }
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'); } }
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"); }
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; }
public function execute() { $listingSID = SJB_Request::getVar('listing_id', false); if (!empty($listingSID)) { $metaOpenGraph = SJB_ListingManager::setMetaOpenGraph($listingSID); echo $metaOpenGraph; } }
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; }
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"); }
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'); } }
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); }
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; }
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'); }
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"); }
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); }
/** * @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); }
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"); }
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); }
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; }
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'); }
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'); } }