예제 #1
0
 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');
     }
 }
예제 #2
0
 private function displayItem()
 {
     $sid = SJB_Request::getVar('sid', false);
     $paymentLogItem = SJB_PaymentLogManager::getPaymentLogInfoBySID($sid);
     $this->templateProcessor->assign('paymentLogItem', $paymentLogItem);
     $this->templateProcessor->display('payment_log_details.tpl');
 }
예제 #3
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $bannersObj = new SJB_Banners();
     $action = SJB_Request::getVar('action');
     if (isset($action)) {
         $groupID = SJB_Request::getVar('groupID');
         switch ($action) {
             case 'add':
                 if ($groupID == '') {
                     SJB_FlashMessages::getInstance()->addWarning('EMPTY_VALUE', array('fieldCaption' => 'Group ID'));
                     break;
                 }
                 $result = $bannersObj->addBannerGroup($groupID);
                 if ($result === false) {
                     SJB_FlashMessages::getInstance()->addWarning('ERROR_ADD_BANNER_GROUP');
                     break;
                 }
                 $site_url = SJB_System::getSystemsettings('SITE_URL') . "/manage-banner-groups/";
                 header("Location: {$site_url}");
                 break;
         }
     }
     $tp->display("add_banner_group.tpl");
 }
예제 #4
0
 public function execute()
 {
     $listingTypeID = SJB_Request::getVar('listing_type', 'Job');
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign('listing_type', $listingTypeID);
     $tp->display('select_posting_type.tpl');
 }
예제 #5
0
파일: export.php 프로젝트: Maxlander/shixi
 public function execute()
 {
     $guestAlert = new SJB_GuestAlert(array());
     $guestAlert->addSubscriptionDateProperty();
     $guestAlert->addStatusProperty();
     $search_form_builder = new SJB_SearchFormBuilder($guestAlert);
     $criteria_saver = new SJB_GuestAlertCriteriaSaver();
     $criteria = $search_form_builder->extractCriteriaFromRequestData($criteria_saver->getCriteria(), $guestAlert);
     $sortingField = SJB_Request::getVar('sorting_field', 'subscription_date');
     $sortingOrder = SJB_Request::getVar('sorting_order', 'DESC');
     $searcher = new SJB_GuestAlertSearcher(false, $sortingField, $sortingOrder);
     $foundGuestAlerts = $searcher->getObjectsSIDsByCriteria($criteria);
     foreach ($foundGuestAlerts as $id => $guestAlertSID) {
         $foundGuestAlerts[$id] = SJB_GuestAlertManager::getGuestAlertInfoBySID($guestAlertSID);
     }
     $type = SJB_Request::getVar('type', 'csv');
     $fileName = 'guest_alerts_' . date('Y-m-d');
     SJB_StatisticsExportController::createExportDirectory();
     switch ($type) {
         case 'csv':
             $ext = 'csv';
             SJB_StatisticsExportController::makeCSVExportFile($foundGuestAlerts, $fileName . '.' . $ext, 'Guest Alerts');
             break;
         default:
         case 'xls':
             $ext = 'xls';
             SJB_StatisticsExportController::makeXLSExportFile($foundGuestAlerts, $fileName . '.' . $ext, 'Guest Alerts');
             break;
     }
     SJB_StatisticsExportController::archiveAndSendExportFile($fileName, $ext);
 }
예제 #6
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     if (isset($_REQUEST['ajax'])) {
         $sent = 0;
         $ids = array();
         if (isset($_REQUEST['userids'])) {
             $ids = $_REQUEST['userids'];
             foreach ($ids as $user_sid) {
                 if (!empty($user_sid) && SJB_Notifications::sendUserActivationLetter($user_sid)) {
                     $sent++;
                 }
             }
         }
         $tp->assign("countOfSuccessfulSent", $sent);
         $tp->assign("countOfUnsuccessfulSent", count($ids) - $sent);
         $tp->display("send_activation_letter.tpl");
         exit;
     }
     $user_sid = SJB_Request::getVar('usersid', null);
     $error = null;
     if (!SJB_UserManager::getObjectBySID($user_sid)) {
         $error = "USER_DOES_NOT_EXIST";
     } elseif (!SJB_Notifications::sendUserActivationLetter($user_sid)) {
         $error = "CANNOT_SEND_EMAIL";
     }
     $tp->assign("error", $error);
     $tp->display("send_activation_letter.tpl");
 }
예제 #7
0
 public function search()
 {
     $action = SJB_Request::getVar('action');
     $period = SJB_Request::getVar('period', array());
     $sorting_field = SJB_Request::getVar('sorting_field', 'usageCount');
     $sorting_order = SJB_Request::getVar('sorting_order', 'DESC');
     $i18n = SJB_I18N::getInstance();
     $statistics = array();
     if ($action) {
         if (!empty($period['from']) && !empty($period['to'])) {
             $from = $i18n->getInput('date', $period['from']);
             $to = $i18n->getInput('date', $period['to']);
             if (strtotime($from) > strtotime($to)) {
                 throw new Exception('SELECTED_PERIOD_IS_INCORRECT');
             }
         }
         $statistics = SJB_Statistics::getPromotionsStatistics($period, $sorting_field, $sorting_order);
     }
     $periodView = array();
     foreach ($period as $key => $value) {
         $periodView[$key] = $i18n->getInput('date', $period[$key]);
     }
     $this->tp->assign('currency', SJB_CurrencyManager::getDefaultCurrency());
     $this->tp->assign('action', $action);
     $this->tp->assign('period', $period);
     $this->tp->assign('periodView', $periodView);
     $this->tp->assign('statistics', $statistics);
     $this->tp->assign('countResult', count($statistics));
     $this->tp->assign('sorting_field', $sorting_field);
     $this->tp->assign('sorting_order', $sorting_order);
 }
 public function execute()
 {
     if (isset($_REQUEST['passed_parameters_via_uri'])) {
         $passed_parameters_via_uri = SJB_UrlParamProvider::getParams();
         $etSID = SJB_Array::get($passed_parameters_via_uri, 0);
     }
     $field_id = SJB_Request::getVar('field_id', null);
     $etInfo = SJB_EmailTemplateEditor::getEmailTemplateInfoBySID($etSID);
     if (is_null($etSID) || is_null($field_id)) {
         $errors['PARAMETERS_MISSED'] = 1;
     } elseif (is_null($etInfo) || !isset($etInfo[$field_id])) {
         $errors['WRONG_PARAMETERS_SPECIFIED'] = 1;
     } else {
         $uploaded_file_id = $etInfo[$field_id];
         SJB_UploadFileManager::deleteUploadedFileByID($uploaded_file_id);
         $etInfo[$field_id] = '';
         $emailTemplate = new SJB_EmailTemplate($etInfo);
         $emailTemplate->setSID($etSID);
         SJB_EmailTemplateEditor::saveEmailTemplate($emailTemplate);
         SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/edit-email-templates/' . $emailTemplate->getPropertyValue('group') . '/' . $etSID);
     }
     $tp = SJB_System::getTemplateProcessor();
     $tp->assign('errors', isset($errors) ? $errors : null);
     $tp->display('delete_uploaded_file.tpl');
 }
예제 #9
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $user = SJB_UserManager::getCurrentUser();
     if ($user) {
         $userNotificationsManager = new SJB_UserNotificationsManager($user);
         $userNotificationsInfo = $userNotificationsManager->getUserNotificationsInfo();
         $userNotificationsInfo = array_merge($userNotificationsInfo, $_REQUEST);
         $userNotifications = new SJB_UserNotifications($userNotificationsInfo);
         $userNotificationsForm = new SJB_Form($userNotifications);
         $userNotificationsForm->registerTags($tp);
         $userNotificationsFields = $userNotificationsForm->getFormFieldsInfo();
         $tp->assign('form_fields', $userNotificationsFields);
         if (SJB_Request::getVar('action') === 'save') {
             $errors = array();
             if ($userNotificationsForm->isDataValid($errors)) {
                 $userNotifications->update();
                 $tp->assign('isSaved', true);
             }
             $tp->assign('errors', $errors);
         }
         $tp->assign('userNotificationGroups', $userNotificationsManager->getNotificationGroups()->getGroups());
         $tp->assign('userNotifications', $userNotificationsManager->getEnabledForGroupUserNotifications());
         $listingTypes = SJB_ListingTypeManager::getListingTypeByUserSID($user->getSID());
         $approveSetting = SJB_ListingTypeManager::getWaitApproveSettingByListingType($listingTypes);
         $tp->assign('approve_setting', $approveSetting);
         $tp->display('user_notifications.tpl');
     } else {
         $tp->display('login.tpl');
     }
 }
예제 #10
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     if (SJB_UserManager::isUserLoggedIn()) {
         $user_id = SJB_UserManager::getCurrentUserSID();
         if (SJB_Request::getVar('pm_action', '', SJB_Request::METHOD_POST) == 'delete') {
             $checked = SJB_Request::getVar('pm_check', array(), SJB_Request::METHOD_POST);
             SJB_PrivateMessage::delete($checked);
         }
         $page = intval(SJB_Request::getVar('page', 1, SJB_Request::METHOD_GET));
         $messagesPerPage = SJB_Request::getInt('messagesPerPage', 10);
         $total = SJB_PrivateMessage::getTotalOutbox($user_id);
         $totalPages = ceil($total / $messagesPerPage);
         if ($totalPages == 0) {
             $totalPages = 1;
         }
         if (empty($page) || $page <= 0) {
             $page = 1;
         }
         if ($totalPages < $page) {
             SJB_HelperFunctions::redirect("?page={$totalPages}");
         }
         $list = SJB_PrivateMessage::getListOutbox($user_id, $page, $messagesPerPage);
         $tp->assign('message_list', $list);
         $tp->assign('messagesPerPage', $messagesPerPage);
         $tp->assign('page', $page);
         $tp->assign('totalPages', $totalPages);
         $tp->assign('include', 'list_outbox.tpl');
         $tp->assign('unread', SJB_PrivateMessage::getCountUnreadMessages($user_id));
     }
     $tp->display('main.tpl');
 }
예제 #11
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()
 {
     $tp = SJB_System::getTemplateProcessor();
     $listing_field_sid = SJB_Request::getVar('listing_sid', null);
     $errors = array();
     $listingTypes = array();
     if (!is_null($listing_field_sid)) {
         $listing_field = SJB_ListingFieldManager::getFieldInfoBySID($listing_field_sid);
         $listing_type_id = 'Job/Resume';
         if ($listing_field['listing_type_sid'] != 0) {
             $listing_type_id = SJB_ListingTypeManager::getListingTypeIDBySID($listing_field['listing_type_sid']);
             array_push($listingTypes, SJB_ListingTypeManager::getListingTypeInfoBySID(SJB_Array::get($listing_field, 'listing_type_sid')));
         } else {
             $listingTypes = SJB_ListingTypeManager::getAllListingTypesInfo();
         }
         $tp->assign('listingTypesInfo', $listingTypes);
         $tp->assign('listing_type_id', $listing_type_id);
         $tp->assign('listing_sid', $listing_field_sid);
         $tp->assign('listing_field_info', $listing_field);
         $tp->assign('listing_type_sid', $listing_field['listing_type_sid']);
     } else {
         $errors[] = 'The system cannot proceed as Listing SID is not set';
     }
     $tp->assign('errors', $errors);
     $tp->display('attention_listing_type_field.tpl');
 }
예제 #13
0
 public function execute()
 {
     $user_group_sid = isset($_REQUEST['user_group_sid']) ? $_REQUEST['user_group_sid'] : null;
     $user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
     $user_profile_field = new SJB_UserProfileField($_REQUEST);
     $user_profile_field->setUserGroupSID($user_group_sid);
     //infill instructions field
     //$user_profile_field->addInfillInstructions(SJB_Request::getVar('instructions'));
     $add_user_profile_field_form = new SJB_Form($user_profile_field);
     $form_is_submitted = isset($_REQUEST['action']) && $_REQUEST['action'] == 'add';
     $errors = null;
     if ($form_is_submitted && $add_user_profile_field_form->isDataValid($errors)) {
         SJB_UserProfileFieldManager::saveUserProfileField($user_profile_field);
         if (SJB_Request::getVar('type', '') == 'youtube') {
             SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . "/instruction_user_profile_field/?user_group_sid=" . $user_group_sid . "&user_field_sid=" . $user_profile_field->sid);
         } else {
             SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . "/edit-user-profile/?user_group_sid=" . $user_group_sid);
         }
     } else {
         $template_processor = SJB_System::getTemplateProcessor();
         $add_user_profile_field_form->registerTags($template_processor);
         $template_processor->assign("form_fields", $add_user_profile_field_form->getFormFieldsInfo());
         $template_processor->assign("user_group_sid", $user_group_sid);
         $template_processor->assign("errors", $errors);
         $template_processor->assign("user_group_info", $user_group_info);
         $template_processor->display("add_user_profile_field.tpl");
     }
 }
예제 #14
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $location = new SJB_Location($_REQUEST);
     if (SJB_Request::getVar('state', false)) {
         $location->state_code = SJB_StatesManager::getStateCodeByStateName(SJB_Request::getVar('state', ''));
     } else {
         $location->state_code = '';
     }
     $formSubmitted = 'add' == SJB_Request::getVar('action', false);
     $locationAdded = false;
     if ($formSubmitted) {
         if ($location->isDataValid($errors)) {
             if (SJB_LocationManager::saveLocation($location)) {
                 $location = new SJB_Location();
                 $locationAdded = true;
             } else {
                 $errors['Name'] = 'NOT_UNIQUE_VALUE';
             }
         }
     }
     $countries = SJB_CountriesManager::getAllCountriesCodesAndNames();
     $locationInfo = $location->getInfo();
     $tp->assign('locationAdded', $locationAdded);
     $tp->assign('countries', $countries);
     $tp->assign('errors', $errors);
     $tp->assign('location_info', $locationInfo);
     $tp->display('add_location.tpl');
 }
예제 #15
0
 public function execute()
 {
     $errors = array();
     $template_processor = SJB_System::getTemplateProcessor();
     if (isset($_REQUEST['action'])) {
         $action_name = $_REQUEST['action'];
         $action = SJB_PhraseActionFactory::get($action_name, $_REQUEST, $template_processor);
         if ($action->canPerform()) {
             $action->perform();
             $template_processor->display('refresh_opener_and_close_popup.tpl');
             return;
         } else {
             $errors = $action->getErrors();
         }
     }
     $phrase_id = SJB_Request::getVar('phrase', null);
     $domain_id = SJB_Request::getVar('domain', null);
     $i18n = SJB_ObjectMother::createI18N();
     $langs = $i18n->getLanguagesData();
     $template_processor->assign('langs', $langs);
     $template_processor->assign('errors', $errors);
     if (!$i18n->phraseExists($phrase_id, $domain_id)) {
         $domains = $i18n->getDomainsData();
         $template_processor->assign('domains', $domains);
         $template_processor->assign('request_data', $_REQUEST);
         $template_processor->display('add_phrase.tpl');
     } else {
         $phrase_data = $i18n->getPhraseData($phrase_id, $domain_id);
         $template_processor->assign('phrase', $phrase_data);
         $template_processor->display('update_phrase.tpl');
     }
 }
예제 #16
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $countrySID = SJB_Request::getVar('country_sid', false);
     $stateSID = SJB_Request::getVar('state_sid', false);
     $parentID = SJB_Request::getVar('parentID', false);
     $caption = SJB_Request::getVar('caption', 'State');
     $type = SJB_Request::getVar('type', false);
     $displayAs = SJB_Request::getVar('display_as', 'state_name');
     $displayAs = $displayAs == 'state_name' || $displayAs == 'state_code' ? $displayAs : 'state_name';
     $result = array();
     if ($countrySID) {
         $result = SJB_StatesManager::getStatesNamesByCountry($countrySID, true, $displayAs);
     }
     $tp->assign("caption", $caption);
     $tp->assign("value", $stateSID);
     $tp->assign("list_values", $result);
     $tp->assign("parentID", $parentID);
     if (!empty($countrySID)) {
         $tp->assign("enabled", true);
     }
     if ($type == 'search') {
         $tp->assign("id", $parentID . '_State');
         $tp->display("../field_types/search/list.tpl");
     } else {
         $tp->assign("id", 'State');
         $tp->display("../field_types/input/list.tpl");
     }
 }
예제 #17
0
파일: create.php 프로젝트: Maxlander/shixi
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $isFormSubmitted = SJB_Request::getVar('action');
     $guestAlert = new SJB_GuestAlert($_REQUEST);
     $form = new SJB_Form($guestAlert);
     $form->registerTags($tp);
     $errors = array();
     if ($isFormSubmitted && $form->isDataValid($errors)) {
         $this->saveNewGuestAlert($guestAlert, $tp);
     } else {
         $form_fields = $form->getFormFieldsInfo();
         $tp->assign('form_fields', $form_fields);
         $tp->assign('searchId', $this->searchID);
         if ($this->isDuplicateEmailError($errors)) {
             $email = $guestAlert->getAlertEmail();
             $unSubscribedGuestAlertSID = SJB_GuestAlertManager::isGuestAlertUnSubscribedByEmail($email);
             if ($unSubscribedGuestAlertSID > 0) {
                 SJB_GuestAlertManager::deleteGuestAlertBySID($unSubscribedGuestAlertSID);
                 $this->saveNewGuestAlert($guestAlert, $tp);
             } else {
                 $this->template = 'replace.tpl';
             }
         } else {
             $tp->assign('errors', $errors);
             $this->template = 'create.tpl';
         }
     }
     $tp->display($this->template);
 }
예제 #18
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     if (SJB_UserManager::isUserLoggedIn()) {
         $user_id = SJB_UserManager::getCurrentUserSID();
         $errors = array();
         $id = SJB_Request::getInt('id', 0, 'GET');
         $action = SJB_Request::getVar('action', '', 'GET');
         if ($id > 0) {
             // read message
             if (SJB_PrivateMessage::isMyMessage($id)) {
                 if ($action == 'delete') {
                     SJB_PrivateMessage::delete(array($id));
                     SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/private-messages/inbox/');
                 }
                 $message = SJB_PrivateMessage::readMessage($id);
                 SJB_Authorization::updateCurrentUserSession();
                 $current_user_info = SJB_UserManager::createTemplateStructureForCurrentUser();
                 $current_user_info['logged_in'] = true;
                 $current_user_info['new_messages'] = SJB_PrivateMessage::getCountUnreadMessages($current_user_info['id']);
                 SJB_System::setCurrentUserInfo($current_user_info);
                 $tp->assign('message', $message);
                 $tp->assign('include', 'message_detail.tpl');
             } else {
                 $errors['NOT_EXISTS_MESSAGE'] = 1;
             }
         }
         $tp->assign('errors', $errors);
         $tp->assign('unread', SJB_PrivateMessage::getCountUnreadMessages($user_id));
         $tp->display('main.tpl');
     } else {
         $tp->assign('return_url', base64_encode(SJB_Navigator::getURIThis()));
         $tp->display('../users/login.tpl');
     }
 }
예제 #19
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $action = SJB_Request::getVar('action');
     $api = SJB_Request::getVar('api', false);
     $request = $_REQUEST;
     unset($request['action']);
     switch ($action) {
         case 'header':
             $test = $tp->fetch("header.tpl");
             echo $test;
             exit;
             break;
         case 'simplyHired':
             SJB_Statistics::addStatistics('partneringSites');
             break;
         default:
             $isIPhone = false;
             if (class_exists('MobilePlugin')) {
                 $isIPhone = MobilePlugin::isPhone();
             }
             $url = SJB_Request::getVar('url');
             $url = $url ? base64_decode($url) : '';
             if (str_replace('www.', '', $_SERVER['HTTP_HOST']) === SJB_Settings::getValue('mobile_url') || SJB_Settings::getValue('detect_iphone') && $isIPhone) {
                 $url = str_replace('viewjob', 'm/viewjob', $url);
             }
             SJB_Statistics::addStatistics('partneringSites');
             if ($api && $api == 'indeed') {
                 SJB_HelperFunctions::redirect($url);
             }
             $tp->assign('url', $url);
             $tp->display("partnersite.tpl");
             break;
     }
 }
예제 #20
0
 public function execute()
 {
     $template_processor = SJB_System::getTemplateProcessor();
     $username = SJB_Request::getVar('username', null);
     $verification_key = SJB_Request::getVar('verification_key', null);
     $ERRORS = array();
     $password_was_changed = false;
     $user_info = SJB_UserManager::getUserInfoByUserName($username);
     if (empty($user_info)) {
         $ERRORS['EMPTY_USERNAME'] = 1;
     } elseif (empty($verification_key)) {
         $ERRORS['EMPTY_VERIFICATION_KEY'] = 1;
     } elseif ($user_info['verification_key'] != $verification_key) {
         $ERRORS['WRONG_VERIFICATION_KEY'] = 1;
     } elseif ($_SERVER['REQUEST_METHOD'] == 'POST') {
         if (!empty($_REQUEST['password']) && $_REQUEST['password'] == $_REQUEST['confirm_password']) {
             $password_was_changed = SJB_UserManager::changeUserPassword($user_info['sid'], $_REQUEST['password']);
         } else {
             $ERRORS['PASSWORD_NOT_CONFIRMED'] = 1;
         }
     }
     if ($password_was_changed) {
         $template_processor->display('successful_password_change.tpl');
     } else {
         $template_processor->assign('username', $username);
         $template_processor->assign('verification_key', $verification_key);
         $template_processor->assign('errors', $ERRORS);
         $template_processor->display('change_password.tpl');
     }
 }
예제 #21
0
 public function SJB_FacebookSocialDetails($info)
 {
     $this->commonFields = parent::getCommonFields();
     $this->postingFields = self::getPostingFields();
     $this->systemFields = self::getSystemFields();
     $detailsInfo = self::getDetails($this->commonFields);
     $sortArray = array();
     $locationPrefix = '';
     foreach ($detailsInfo as $index => $propertyInfo) {
         $sortArray[$index] = $propertyInfo['order'];
         if ($propertyInfo['type'] == 'location') {
             $locationPrefix = $propertyInfo['id'];
         }
     }
     $sortArray = SJB_HelperFunctions::array_sort($sortArray);
     foreach ($sortArray as $index => $value) {
         $sortedDetailsInfo[$index] = $detailsInfo[$index];
     }
     foreach ($sortedDetailsInfo as $detailInfo) {
         $detailInfo['value'] = '';
         $accountID = SJB_Request::getVar('account_id', false);
         if (isset($info[$detailInfo['id']])) {
             $detailInfo['value'] = $info[$detailInfo['id']];
         } elseif ($detailInfo['id'] == 'hash_tags') {
             $detailInfo['value'] = '#Jobs';
         } elseif ($detailInfo['id'] == 'post_template') {
             $detailInfo['value'] = '{$user.CompanyName}: {$listing.Title} ({$listing.' . $locationPrefix . '.City}, {$listing.' . $locationPrefix . '.State})';
         } elseif (isset($accountID) && $detailInfo['id'] == 'account_id') {
             $detailInfo['value'] = $accountID;
         }
         $this->properties[$detailInfo['id']] = new SJB_ObjectProperty($detailInfo);
     }
 }
예제 #22
0
 public function execute()
 {
     $errors = array();
     $params = array();
     $lang_id = SJB_Request::getVar('languageId', null);
     $i18n = SJB_ObjectMother::createI18N();
     if ($i18n->languageExists($lang_id)) {
         $params = $i18n->getLanguageData($lang_id);
         $params['languageId'] = $lang_id;
         if (isset($_REQUEST['action'])) {
             $action_name = $_REQUEST['action'];
             $form_submitted = SJB_Request::getVar('submit');
             $params = array_merge($params, $_REQUEST);
             $action = SJB_LanguageActionFactory::get($action_name, $params);
             if ($action->canPerform()) {
                 $action->perform();
                 if ($form_submitted == 'save') {
                     SJB_WrappedFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-languages/');
                 }
             } else {
                 $errors = $action->getErrors();
             }
         }
     } else {
         $errors[] = 'LANGUAGE_DOES_NOT_EXIST';
     }
     $template_editor = SJB_ObjectMother::createTemplateEditor();
     $themes = $template_editor->getThemeList();
     $template_processor = SJB_System::getTemplateProcessor();
     $template_processor->assign('themes', $themes);
     $template_processor->assign('lang', $params);
     $template_processor->assign('errors', $errors);
     $template_processor->display('update_language.tpl');
 }
예제 #23
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $user_group_sid = SJB_Request::getVar('user_group_sid', null);
     $user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
     $errors = null;
     if (!is_null($user_group_sid)) {
         if (isset($_REQUEST['action'], $_REQUEST['field_sid'])) {
             if ($_REQUEST['action'] == 'move_up') {
                 SJB_UserProfileFieldManager::moveUpFieldBySID($_REQUEST['field_sid']);
             } elseif ($_REQUEST['action'] == 'move_down') {
                 SJB_UserProfileFieldManager::moveDownFieldBySID($_REQUEST['field_sid']);
             }
         }
         $user_profile_fields = SJB_UserProfileFieldManager::getFieldsInfoByUserGroupSID($user_group_sid);
     } else {
         $errors['USER_GROUP_SID_NOT_SET'] = 1;
         $user_profile_fields = null;
     }
     $tp->assign("errors", $errors);
     $tp->assign("user_profile_fields", $user_profile_fields);
     $tp->assign("user_group_sid", $user_group_sid);
     $tp->assign("user_group_info", $user_group_info);
     $tp->display("edit_user_profile_fields.tpl");
 }
예제 #24
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $filenameToCheck = SJB_Request::getVar('filepath');
     $updateName = SJB_Request::getVar('update_name');
     $updatesDir = SJB_System::getSystemSettings('SJB_UPDATES_DIR');
     try {
         if (empty($filenameToCheck)) {
             throw new Exception('Empty filename to diff');
         }
         $fileExists = file_exists(SJB_BASE_DIR . $filenameToCheck);
         $currentFile = SJB_BASE_DIR . $filenameToCheck;
         $updateFile = $updatesDir . $updateName . DIRECTORY_SEPARATOR . $filenameToCheck;
         $tp->assign('current_file', $currentFile);
         $tp->assign('update_file', $updateFile);
         require_once 'PEAR/PEAR/Text_Diff/Diff.php';
         if ($fileExists) {
             $diff = new Text_Diff('native', array(file($currentFile, FILE_IGNORE_NEW_LINES), file($updateFile, FILE_IGNORE_NEW_LINES)));
         } else {
             $diff = new Text_Diff('native', array(array(), file($updateFile, FILE_IGNORE_NEW_LINES)));
         }
         $out = self::getTableViewForDiff($diff);
         $tp->assign('diffTbl', $out);
     } catch (Exception $e) {
         $tp->assign('errors', array($e->getMessage()));
     }
     $tp->display('update_diff.tpl');
 }
예제 #25
0
 public function execute()
 {
     ini_set('max_execution_time', 0);
     $tp = SJB_System::getTemplateProcessor();
     $userGroupID = SJB_Request::getVar('user_group_id', 0);
     $user = SJB_UsersExportController::createUser($userGroupID);
     $searchFormBuilder = new SJB_SearchFormBuilder($user);
     $criteria = $searchFormBuilder->extractCriteriaFromRequestData($_REQUEST, $user);
     $searchFormBuilder->registerTags($tp);
     $searchFormBuilder->setCriteria($criteria);
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $exportProperties = SJB_Request::getVar('export_properties', array());
         if (empty($exportProperties)) {
             SJB_FlashMessages::getInstance()->addWarning('EMPTY_EXPORT_PROPERTIES');
         } else {
             $innerJoin = false;
             if (isset($_REQUEST['product']['multi_like']) && $_REQUEST['product']['multi_like'] != '') {
                 $products = $_REQUEST['product']['multi_like'];
                 if (is_array($products)) {
                     $products = implode(',', $products);
                 }
                 $whereParam = implode(',', explode(',', SJB_DB::quote($products)));
                 $innerJoin = array('contracts' => array('join_field' => 'user_sid', 'join_field2' => 'sid', 'join' => 'INNER JOIN', 'where' => "AND FIND_IN_SET(`contracts`.`product_sid`, '{$whereParam}')"));
                 unset($criteria['system']['product']);
             }
             $searcher = new SJB_UserSearcher(false, 'parent_sid', 'ASC', $innerJoin);
             $searchAliases = SJB_UsersExportController::getSearchPropertyAliases();
             $foundUsersSid = $searcher->getObjectsSIDsByCriteria($criteria, $searchAliases);
             if (!empty($foundUsersSid)) {
                 $result = SJB_UsersExportController::createExportDirectories();
                 if ($result === true) {
                     $exportProperties['extUserID'] = 1;
                     $exportProperties['parent_sid'] = 1;
                     $exportAliases = SJB_UsersExportController::getExportPropertyAliases();
                     $exportData = SJB_UsersExportController::getExportData($foundUsersSid, $exportProperties, $exportAliases);
                     $fileName = 'users.xls';
                     SJB_UsersExportController::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") . "/users/archive-and-send-export-data/");
                     }
                 }
             } else {
                 SJB_FlashMessages::getInstance()->addWarning('EMPTY_EXPORT_DATA');
             }
         }
     }
     $userSystemProperties = SJB_UserManager::getAllUserSystemProperties();
     $userGroups = SJB_UserGroupManager::getAllUserGroupsInfo();
     $userCommonProperties = array();
     foreach ($userGroups as $userGroup) {
         $userGroupProperties = SJB_UserProfileFieldManager::getFieldsInfoByUserGroupSID($userGroup['sid']);
         $userCommonProperties[$userGroup['id']] = $userGroupProperties;
     }
     $tp->assign('userSystemProperties', $userSystemProperties);
     $tp->assign('userCommonProperties', $userCommonProperties);
     $tp->assign('selected_user_group_id', $userGroupID);
     $tp->display('export_users.tpl');
 }
예제 #26
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $user = SJB_UserManager::getUserInfoBySID(SJB_Request::getVar('user_sid', 0, SJB_Request::METHOD_GET));
     $user_id = $user['sid'];
     if (SJB_Request::getVar('pm_action', '', SJB_Request::METHOD_POST) == 'delete') {
         $checked = SJB_Request::getVar('pm_check', array(), SJB_Request::METHOD_POST);
         SJB_PrivateMessage::delete($checked);
     }
     $page = intval(SJB_Request::getVar('page', 1, SJB_Request::METHOD_GET));
     $per_page = 10;
     $total = SJB_PrivateMessage::getTotalOutbox($user_id);
     $max_pages = ceil($total / $per_page);
     if ($max_pages == 0) {
         $max_pages = 1;
     }
     if ($max_pages < $page) {
         SJB_HelperFunctions::redirect("?user_sid={$user_id}&page={$max_pages}");
     }
     $navigate = SJB_PrivateMessage::getNavigate($page, $total, $per_page);
     $list = SJB_PrivateMessage::getListOutbox($user_id, $page, $per_page);
     $userGroupInfo = SJB_UserGroupManager::getUserGroupInfoBySID($user['user_group_sid']);
     SJB_System::setGlobalTemplateVariable('wikiExtraParam', $userGroupInfo['id']);
     $tp->assign("user_group_info", $userGroupInfo);
     $tp->assign('username', $user['username']);
     $tp->assign('user_sid', $user_id);
     $tp->assign('message', $list);
     $tp->assign('navigate', $navigate);
     $tp->assign('page', $page);
     $tp->display('pm_outbox.tpl');
 }
예제 #27
0
 public function execute()
 {
     $template = SJB_Request::getVar('template', 'featured_listings.tpl');
     $listingType = SJB_Request::getVar('listing_type', 'Job');
     $searches['data']['listing_type']['equal'] = $listingType;
     $searches['data']['featured']['equal'] = 1;
     $searches['data']['default_listings_per_page'] = SJB_Request::getVar('items_count', 1);
     $searches['data']['sorting_field'] = 'featured_last_showed';
     $searches['data']['default_sorting_field'] = 'featured_last_showed';
     $searches['data']['default_sorting_order'] = 'ASC';
     $searches['data']['sorting_order'] = 'ASC';
     // фичерные листинги кешировать не будем
     $cache = SJB_Cache::getInstance();
     $caching = $cache->getOption('caching');
     $cache->setOption('caching', false);
     $searchResultsTP = new SJB_SearchResultsTP($searches['data'], $listingType);
     $searchResultsTP->setLimit(SJB_Request::getVar('items_count', 1));
     $tp = $searchResultsTP->getChargedTemplateProcessor();
     $featuredListingSIDs = $searchResultsTP->getListingSidCollectionForCurrentPage();
     if ($featuredListingSIDs) {
         SJB_DB::query('UPDATE `listings` SET `featured_last_showed` = NOW() WHERE `sid` in (?w)', implode(',', $featuredListingSIDs));
         SJB_Statistics::addSearchStatistics($featuredListingSIDs, $listingType);
     }
     $cache->setOption('caching', $caching);
     $tp->assign('number_of_cols', SJB_Request::getVar('number_of_cols', 1));
     $tp->display($template);
 }
예제 #28
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');
     }
 }
예제 #29
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");
 }
예제 #30
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $user_group_sid = SJB_Request::getVar('sid', null);
     $errors = array();
     if (!is_null($user_group_sid)) {
         $action = SJB_Request::getVar("action", false);
         $product_sid = SJB_Request::getVar("product_sid", false);
         if ($action && $product_sid !== false) {
             switch ($action) {
                 case 'move_up':
                     SJB_ProductsManager::moveUpProductBySID($product_sid, $user_group_sid);
                     break;
                 case 'move_down':
                     SJB_ProductsManager::moveDownProductBySID($product_sid, $user_group_sid);
                     break;
                 case 'set_default_product':
                     SJB_UserGroupManager::setDefaultProduct($user_group_sid, $product_sid);
                     break;
             }
         }
         $user_group_info = SJB_UserGroupManager::getUserGroupInfoBySID($user_group_sid);
         $user_group_info = array_merge($user_group_info, $_REQUEST);
         $userGroup = new SJB_UserGroup($user_group_info);
         $userGroup->setSID($user_group_sid);
         $edit_user_group_form = new SJB_Form($userGroup);
         $form_is_submitted = SJB_Request::getVar('submit');
         if ($form_is_submitted && $edit_user_group_form->isDataValid($errors)) {
             SJB_UserGroupManager::saveUserGroup($userGroup);
             if ($form_is_submitted == 'save_info') {
                 SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/user-groups/');
             }
         }
         $productSIDs = SJB_ProductsManager::getProductsInfoByUserGroupSID($user_group_sid);
         $productsInfo = array();
         $user_sids_in_group = SJB_UserManager::getUserSIDsByUserGroupSID($user_group_sid);
         $user_group_product_user_number = array();
         foreach ($productSIDs as $product) {
             $productsInfo[] = $product;
             $user_sids_in_product = SJB_UserManager::getUserSIDsByProductSID($product['sid']);
             $user_number = count(array_intersect($user_sids_in_group, $user_sids_in_product));
             $user_group_product_user_number[$product['sid']] = $user_number;
         }
         $edit_user_group_form->registerTags($tp);
         $tp->assign('object_sid', $userGroup->getSID());
         $tp->assign('notifications', $userGroup->getNotifications());
         $tp->assign('notificationGroups', $userGroup->getNotificationsGroups());
         $tp->assign('user_group_sid', $user_group_sid);
         $tp->assign('user_group_products_info', $productsInfo);
         $tp->assign('user_group_product_user_number', $user_group_product_user_number);
         $tp->assign('form_fields', $edit_user_group_form->getFormFieldsInfo());
     } else {
         $errors['USER_GROUP_SID_NOT_SET'] = 1;
     }
     $tp->assign('user_group_info', isset($user_group_info) ? $user_group_info : null);
     $tp->assign('errors', $errors);
     $tp->assign('object_sid', $user_group_sid);
     $tp->display('edit_user_group.tpl');
 }