public function execute() { $listing_field = new SJB_ListingField($_REQUEST); /** * add infilll instructions field */ //$listing_field->addInfillInstructions(SJB_Request::getVar('instructions')); $template_processor = SJB_System::getTemplateProcessor(); $add_listing_field_form = new SJB_Form($listing_field); $add_listing_field_form->registerTags($template_processor); $form_is_submitted = isset($_REQUEST['action']) && $_REQUEST['action'] == 'add'; $errors = null; $pages = SJB_PostingPagesManager::getFirstPageEachListingType(); if ($form_is_submitted && $add_listing_field_form->isDataValid($errors)) { $pages = SJB_PostingPagesManager::getFirstPageEachListingType(); SJB_ListingFieldManager::saveListingField($listing_field, $pages); $listing_sid = $listing_field->getSID(); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/attention-listing-type-field/?listing_sid={$listing_sid}"); } else { $pagesNum = SJB_PostingPagesManager::getNumAllPages(); $pageCount = 0; foreach ($pagesNum as $val) { if ($val['num'] > 1) { $pageCount = 1; } } $template_processor->assign("pageCount", $pageCount); $template_processor->assign("errors", $errors); $add_listing_field_form->registerTags($template_processor); $template_processor->assign("form_fields", $add_listing_field_form->getFormFieldsInfo()); $template_processor->display("add_listing_field.tpl"); } }
public function execute() { $template_processor = SJB_System::getTemplateProcessor(); $errors = array(); $UserProfileFieldListItemManager = new SJB_UserProfileFieldListItemManager(); if (!isset($_REQUEST['field_sid'], $_REQUEST['item_sid'])) { echo 'The system cannot proceed as some key paramaters are missed'; } else { if (is_null($list_item = $UserProfileFieldListItemManager->getListItemBySID($_REQUEST['item_sid']))) { echo 'Wrong parameters are specified'; } else { $list_item_info['value'] = $list_item->getValue(); $template_processor->assign("list_item_info", $list_item_info); if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'save') { $list_item->setValue($_REQUEST['list_item_value']); if (empty($_REQUEST['list_item_value'])) { $errors = array('Value' => 'EMPTY_VALUE'); } else { $UserProfileFieldListItemManager->saveListItem($list_item); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/edit-user-profile-field/edit-list/?field_sid=" . $_REQUEST['field_sid']); } } $user_profile_field = SJB_UserProfileFieldManager::getFieldBySID($_REQUEST['field_sid']); $user_profile_field_info = SJB_UserProfileFieldManager::getFieldInfoBySID($_REQUEST['field_sid']); $template_processor->assign("user_profile_field_info", $user_profile_field_info); $template_processor->assign("user_group_sid", $user_profile_field->getUserGroupSID()); $template_processor->assign("user_profile_field_sid", $_REQUEST['field_sid']); $template_processor->assign("item_sid", $_REQUEST['item_sid']); $template_processor->assign("list_item_value", htmlspecialchars($list_item->getValue())); $template_processor->assign("errors", $errors); $template_processor->assign("user_group_info", SJB_UserGroupManager::getUserGroupInfoBySID($user_profile_field->getUserGroupSID())); $template_processor->display("user_profile_list_item_editing.tpl"); } } }
public static function logout() { $blogPath = SJB_Settings::getSettingByName('blog_path'); if (empty($blogPath)) { return; } $url = SJB_System::getSystemSettings('SITE_URL') . $blogPath . '/'; $client = new Zend_Http_Client($url, array('useragent' => SJB_Request::getUserAgent(), 'maxredirects' => 0)); if (isset($_SESSION['wp_cookie_jar'])) { $client->setCookieJar(@unserialize($_SESSION['wp_cookie_jar'])); } try { $response = $client->request(); $matches = array(); if (preg_match('/_wpnonce=([\\w\\d]+)"/', $response->getBody(), $matches)) { $wpnonce = $matches[1]; $url = $url . 'wp-login.php?action=logout&_wpnonce=' . $wpnonce . '&noSJB=1'; $client->setUri($url); $response = $client->request(); foreach ($response->getHeaders() as $key => $header) { if ('set-cookie' == strtolower($key)) { if (is_array($header)) { foreach ($header as $val) { header("Set-Cookie: " . $val, false); } } else { header("Set-Cookie: " . $header, false); } } } } } catch (Exception $ex) { } }
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'); }
public function init() { $this->cleanSessionData(self::$network); $error = SJB_Request::getVar('error', false); if ($error && $error == 'access_denied') { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL')); } if (isset($_GET['code'])) { $this->initialize(); $googlePlusService = new Google_PlusService(self::$object); $oauth2 = new Google_Oauth2Service(self::$object); self::$object->authenticate($_GET['code']); $_SESSION['access_token'] = self::$object->getAccessToken(); if (!empty($_SESSION['access_token'])) { self::$oProfile = self::getProfileInformation($googlePlusService, $oauth2); if (self::$oProfile) { $this->flagSocialPluginInSession(self::$network); self::$oSocialPlugin = $this; $this->redirectToRegistrationSocialPage(); } } } if (is_null(self::$object) && empty($_SESSION['sn']['authorized'])) { $this->initialize(); $authUrl = self::$object->createAuthUrl(); SJB_HelperFunctions::redirect($authUrl); } elseif (self::$oProfile && !parent::ifUserIsRegistered(self::$network)) { $this->redirectToRegistrationSocialPage(); } }
public function execute() { $user_group = new SJB_UserGroup($_REQUEST); $add_user_group_form = new SJB_Form($user_group); $form_is_submitted = isset($_REQUEST['action']) && $_REQUEST['action'] == 'add'; $errors = null; $tp = SJB_System::getTemplateProcessor(); if ($form_is_submitted && $add_user_group_form->isDataValid($errors)) { SJB_UserGroupManager::saveUserGroup($user_group); $page = array('uri' => '/' . mb_strtolower($user_group->getPropertyValue('id'), 'UTF-8') . '-products/', 'module' => 'payment', 'function' => 'user_products', 'access_type' => 'user', 'parameters' => 'userGroupID=' . $user_group->getID()); $userPage = new SJB_UserPage(); $page_data = SJB_UserPage::extractPageData($page); $userPage->setPageData($page_data); $userPage->save(); $this->addLocationField($user_group->getSID()); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/user-groups/"); } else { $add_user_group_form->registerTags($tp); $tp->assign('notifications', $user_group->getNotifications()); $tp->assign('notificationGroups', $user_group->getNotificationsGroups()); $tp->assign('form_fields', $add_user_group_form->getFormFieldsInfo()); $tp->assign('errors', $errors); $tp->display('add_user_group.tpl'); } }
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 static function get($action, $params) { if (SJB_System::getSystemSettings('isDemo')) { return new SJB_LanguageAction(); } $i18n = SJB_I18N::getInstance(); $lang = isset($params['languageId']) ? $params['languageId'] : null; switch ($action) { case 'set_default_language': return new SJB_SetDefaultLanguageAction($i18n, $lang); break; case 'add_language': return new SJB_AddLanguageAction($i18n, $params); break; case 'update_language': return new SJB_UpdateLanguageAction($i18n, $params); break; case 'delete_language': return new SJB_DeleteLanguageAction($i18n, $lang); break; case 'import_language': return new SJB_ImportLanguageAction($i18n, $params); break; case 'export_language': return new SJB_ExportLanguageAction($i18n, $lang); break; default: return new SJB_LanguageAction(); } }
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); }
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"); } }
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'); } }
public function execute() { $errors = array(); $params = array(); $template_processor = SJB_System::getTemplateProcessor(); if (isset($_REQUEST['action'])) { $action_name = $_REQUEST['action']; $params = $_REQUEST; $action = SJB_PhraseActionFactory::get($action_name, $params, $template_processor); if ($action->canPerform()) { $action->perform(); SJB_WrappedFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-phrases/?action=remember_previous_state&result=' . $action->result); } else { $errors = $action->getErrors(); } } $i18n = SJB_ObjectMother::createI18N(); $domains = $i18n->getDomainsData(); $langs = $i18n->getLanguagesData(); $template_processor->assign('domains', $domains); $template_processor->assign('langs', $langs); $template_processor->assign('request_data', $_REQUEST); $template_processor->assign('errors', $errors); $template_processor->display('add_phrase.tpl'); }
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'); }
/** * @param $title * @param $text * @param $link * @param $imageUrl * @return mixed */ public function getContentToPostToGroup($title, $text, $link, $imageUrl) { $siteUrl = SJB_System::getSystemSettings("USER_SITE_URL"); $xml = "\n\t\t<post>\n\t\t\t<title><![CDATA[{$siteUrl}]]></title>\n\t\t\t<summary></summary>\n\t\t\t<content>\n\t\t\t\t<title><![CDATA[{$title}]]></title>\n\t\t\t\t<description><![CDATA[{$text}]]></description>\n\t\t\t\t<submitted-url><![CDATA[{$link}]]></submitted-url>\n\t\t\t\t<submitted-image-url><![CDATA[{$imageUrl}]]></submitted-image-url>\n\t\t\t</content>\n\t\t</post>"; $result = new SimpleXMLElement($xml); return $result->asXML(); }
public function get($language_id) { if (!isset($this->repository[$language_id])) { $file_paths = $this->fileHelper->getFilePathToLangFiles($language_id); // загрузим переводы (languages & pages) $adminMode = SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE') === 'admin'; $loadTrPages = $adminMode || $language_id === $this->fileHelper->context->langSettings->getCurrentLangID(); if ($loadTrPages) { // генерим данные с pages & languages $file_path = $file_paths['pages']; $cache_path = SJB_System::getSystemSettings('CACHE_DIR') . DIRECTORY_SEPARATOR . basename($file_path) . '.cache'; $conf_file_path = $file_paths['languages']; $generateTr = !file_exists($cache_path) || filemtime($file_path) >= filemtime($cache_path) || filemtime($conf_file_path) >= filemtime($cache_path); if ($generateTr) { // генерим languages data $trAdmin = $this->getLanguagesTrAdmin($file_paths); // генерим pages data $trAdmin->getLanguagePages(); $this->createCache($cache_path, $trAdmin); } else { $trAdmin = $this->getTrAdminFromCache($cache_path); } } else { // генерим только данные с languages $trAdmin = $this->getLanguagesTrAdmin($file_paths); } $this->repository[$language_id] = $trAdmin; } else { $trAdmin = $this->repository[$language_id]; } return $trAdmin; }
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'); }
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'); }
static function logout() { SessionStorage::destroy(SJB_Session::getSessionId()); $forumPath = SJB_Settings::getSettingByName('forum_path'); if (empty($forumPath)) { return; } $url = SJB_System::getSystemSettings('SITE_URL') . $forumPath . '/'; $client = new Zend_Http_Client($url, array('useragent' => SJB_Request::getUserAgent())); $client->setCookie($_COOKIE); $client->setCookieJar(); try { $response = $client->request(); $matches = array(); if (preg_match('/\\.\\/ucp.php\\?mode=logout\\&sid=([\\w\\d]+)"/', $response->getBody(), $matches)) { $sid = $matches[1]; $client->setUri($url . 'ucp.php?mode=logout&sid=' . $sid); $response = $client->request(); foreach ($response->getHeaders() as $key => $header) { if ('set-cookie' == strtolower($key)) { if (is_array($header)) { foreach ($header as $val) { header("Set-Cookie: " . $val, false); } } else { header("Set-Cookie: " . $header, false); } } } } } catch (Exception $ex) { } }
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'); }
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'); } }
public function execute() { $id = SJB_Request::getVar('id', false); if ($id) { SJB_DB::query("DELETE FROM `parsers` WHERE id = ?n", $id); } SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . "/show-import/"); }
public static function isRequestedUnderLegalURI() { $site_url = parse_url(SJB_System::getSystemSettings('SITE_URL')); $request_uri = parse_url($_SERVER['REQUEST_URI']); $isUnderOurHost = $site_url['host'] === $_SERVER['HTTP_HOST']; $isInOurPath = isset($site_url['path']) ? strpos($request_uri['path'], $site_url['path']) === 0 : true; return $isUnderOurHost && $isInOurPath; }
public static function isAccessibleFunctional() { if (SJB_System::getSystemSettings('SYSTEM_ACCESS_TYPE') == SJB_System::getSystemSettings('ADMIN_ACCESS_TYPE') || !SJB_Settings::getValue('cookieLaw') || SJB_Request::getVar('cookiePreferences', null, 'COOKIE') != 'System') { return true; } self::disableCookieRequiredSettings(); return false; }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $subAdminSID = SJB_Request::getVar('subadmin', 0); if (!empty($subAdminSID) && ($adminInfo = SJB_SubAdminManager::getSubAdminInfoBySID($subAdminSID))) { $editedSubAdminInfo = $_REQUEST; $subAdminInfo = array_merge($adminInfo, $editedSubAdminInfo); // create subAdmin object $oSubAdmin = SJB_ObjectMother::createSubAdmin($subAdminInfo); $oSubAdmin->setSID($adminInfo['sid']); $oSubAdmin->makePropertyNotRequired("password"); // permissions $acl = SJB_SubAdminAcl::getInstance(); $type = 'subadmin'; $resources = $acl->getResources(); $perms = SJB_SubAdminAcl::getAllPermissions($type, $oSubAdmin->getSID()); // /permissions SJB_SubAdminAcl::mergePermissionsWithResources($resources, $perms); $registration_form = SJB_ObjectMother::createForm($oSubAdmin); $action = SJB_Request::getVar('action', ''); $registration_form->registerTags($tp); $errors = array(); if ('save' == $action || $action == 'apply') { if ($adminInfo['username'] == $subAdminInfo['username']) { $oSubAdmin->deleteProperty('username'); } if ($adminInfo['email'] == $subAdminInfo['email']) { $oSubAdmin->deleteProperty('email'); } if ($registration_form->isDataValid($errors)) { $password_value = $oSubAdmin->getPropertyValue('password'); if (empty($password_value['original'])) { $oSubAdmin->deleteProperty('password'); } // save subAdmin SJB_SubAdminManager::saveSubAdmin($oSubAdmin); $role = $oSubAdmin->getSID(); SJB_Acl::clearPermissions($type, $role); foreach ($resources as $name => $resource) { SJB_SubAdminAcl::allow($name, $type, $role, SJB_SubAdminAcl::definePermission($name), SJB_Array::get($resource, 'params', '')); } SJB_FlashMessages::getInstance()->addMessage('CHANGES_SAVED'); if ($action == 'save') { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/manage-subadmins/"); } } SJB_SubAdminAcl::mergePermissionsWithRequest($resources); } SJB_SubAdminAcl::prepareSubPermissions($resources); $tp->assign("errors", $errors); $tp->assign("form_fields", $registration_form->getFormFieldsInfo()); $tp->assign('groups', SJB_SubAdminAcl::getPermissionGroups()); $tp->assign('resources', $resources); $tp->assign('type', $type); $tp->assign('sid', $subAdminInfo['sid']); $tp->display('add_subadmin.tpl'); } }
function canPerform() { if (SJB_System::getSystemSettings("isDemo")) { $this->errors[] = "You don't have permissions for it. This is a Demo version of the software."; } else { $this->errors[] = 'UNKNOWN_ACTION'; } return false; }
public function execute() { $breadcrumbs = new SJB_Breadcrumbs(); $errors = array(); if (isset($_REQUEST['action'])) { // проверим, задали element_id или нет if (!isset($_REQUEST['element_id'])) { // задаем текст ошибки и сбрасываем 'action', чтобы ничего не выполнялось $errors[] = "NOT_ID"; $_REQUEST['action'] = ''; } else { $element_id = $_REQUEST['element_id']; } switch ($_REQUEST['action']) { case 'add': // если была отправка формы добавления элемента if (isset($_REQUEST['addElement']) && $_REQUEST['addElement'] != '') { $item_name = $_REQUEST['item_name']; $item_uri = $_REQUEST['item_uri']; $breadcrumbs->addElement($item_name, $item_uri, $element_id); $site_url = SJB_System::getSystemSettings("SITE_URL"); SJB_HelperFunctions::redirect($site_url . "/manage-breadcrumbs/"); } $parentElement = $breadcrumbs->getElement($element_id); $tp = SJB_System::getTemplateProcessor(); $tp->assign("parentElement", $parentElement); $tp->display("add_item.tpl"); break; case 'edit': // если была отправка формы редактирования элемента if (isset($_REQUEST['updateElement']) && $_REQUEST['updateElement'] != '') { $item_name = $_REQUEST['item_name']; $item_uri = $_REQUEST['item_uri']; $breadcrumbs->updateElement($item_name, $item_uri, $element_id); $site_url = SJB_System::getSystemSettings("SITE_URL"); SJB_HelperFunctions::redirect($site_url . "/manage-breadcrumbs/"); } $editElement = $breadcrumbs->getElement($element_id); $tp = SJB_System::getTemplateProcessor(); $tp->assign("editElement", $editElement); $tp->display("edit_item.tpl"); break; case 'delete': $breadcrumbs->deleteElement($element_id); $site_url = SJB_System::getSystemSettings("SITE_URL"); SJB_HelperFunctions::redirect($site_url . "/manage-breadcrumbs/"); break; default: break; } } $navStructure = $breadcrumbs->makeStructure(); $tp = SJB_System::getTemplateProcessor(); $tp->assign('ERRORS', $errors); $tp->assign("navStructure", $navStructure); $tp->display("manage_breadcrumbs.tpl"); }
function SJB_ImportLanguageAction($i18n, $lang_file_data) { $this->i18n = $i18n; $this->lang_file_data = $lang_file_data; $this->file_name = isset($lang_file_data['name']) ? $lang_file_data['name'] : null; $this->temp_file_path = isset($lang_file_data['tmp_name']) ? $lang_file_data['tmp_name'] : null; $temp_dest = SJB_System::getSystemSettings('TEMP_FILES_DIRECTORY'); $this->file_path = SJB_Path::combine($temp_dest, $this->file_name); }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $productType = SJB_Request::getVar('product_type', false); $action = SJB_Request::getVar('action', false); $errors = array(); $productErrors = array(); if ($productType) { if ($productType == 'featured_user') { $_REQUEST['user_group_sid'] = SJB_UserGroupManager::getUserGroupSIDByID('Employer'); } $product = new SJB_Product($_REQUEST, $productType); $pages = $product->getProductPages(); $addProductForm = new SJB_Form($product); $addProductForm->registerTags($tp); $form_submitted = SJB_Request::getVar('action', '') == 'save'; if ($form_submitted) { $productErrors = $product->isValid($product); if (in_array($productType, array('access_listings', 'featured_user', 'banners', 'custom_product'))) { $periodName = $product->getPropertyValue('period_name'); if ($periodName == 'unlimited') { $product->makePropertyNotRequired('period'); } } } if ($form_submitted && $addProductForm->isDataValid($errors) && !$productErrors) { $product->addProperty(array('id' => 'product_type', 'type' => 'string', 'value' => $productType, 'is_system' => true)); $product->saveProduct($product, $_REQUEST); $product->savePermissions($_REQUEST); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . '/products/'); } $errors = array_merge($errors, $productErrors); $formFieldsInfo = $addProductForm->getFormFieldsInfo(); $formFields = array(); foreach ($pages as $pageID => $page) { foreach ($formFieldsInfo as $formFieldInfo) { if (in_array($formFieldInfo['id'], $page['fields'])) { $formFields[$pageID][] = $formFieldInfo; } } if (!isset($formFields[$pageID])) { $formFields[$pageID] = array(); } } $tp->assign('form_fields', $formFields); $tp->assign('product_type', $productType); $tp->assign('request', $_REQUEST); $tp->assign('params', http_build_query($_REQUEST)); $tp->assign('pages', $pages); $tp->assign('pageTab', SJB_Request::getVar('page', false)); $tp->assign("errors", $errors); $tp->display('add_product.tpl'); } else { $tp->display('select_product_type.tpl'); } }
public function execute() { $template_processor = SJB_System::getTemplateProcessor(); $listingTypeSID = isset($_REQUEST['sid']) ? $_REQUEST['sid'] : null; if (!is_null($listingTypeSID)) { $form_submitted = SJB_Request::getVar('action', ''); $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($listingTypeSID); $approveSettingChanged = $listing_type_info['waitApprove'] != SJB_Request::getVar('waitApprove'); $listing_type_info = array_merge($listing_type_info, $_REQUEST); $listingType = new SJB_ListingType($listing_type_info); $listingType->setSID($listingTypeSID); $edit_form = new SJB_Form($listingType); $listingTypeEmailAlert = $listingType->getPropertyValue('email_alert'); if (empty($listingTypeEmailAlert)) { $listingType->setPropertyValue('email_alert', 0); } $listingTypeEmailAlertForGuests = $listingType->getPropertyValue('guest_alert_email'); if (empty($listingTypeEmailAlertForGuests)) { $listingType->setPropertyValue('guest_alert_email', 0); } $errors = array(); if ($form_submitted && $edit_form->isDataValid($errors)) { SJB_Breadcrumbs::updateBreadcrumbsByListingTypeSID($listingTypeSID, $listingType->getPropertyValue('name')); SJB_PageManager::updatePagesByListingTypeSID($listingTypeSID, $listingType->getPropertyValue('name')); SJB_ListingTypeManager::saveListingType($listingType); if ($approveSettingChanged) { SJB_BrowseDBManager::rebuildBrowses(); } if ($form_submitted == 'save_info') { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/listing-types/'); } } $template_processor->assign('errors', $errors); $template_processor->assign('listing_type_sid', $listingTypeSID); $listing_fields_info = SJB_ListingFieldManager::getListingFieldsInfoByListingType($listingTypeSID); $listing_fields = array(); $listing_field_sids = array(); foreach ($listing_fields_info as $listing_field_info) { if ($listing_field_info['type'] == 'logo') { continue; } $listing_field = new SJB_ListingField($listing_field_info); $listing_field->setSID($listing_field_info['sid']); $listing_fields[] = $listing_field; $listing_field_sids[] = $listing_field_info['sid']; } $edit_form->registerTags($template_processor); $template_processor->assign("listing_type_info", $listing_type_info); $template_processor->assign("form_fields", $edit_form->getFormFieldsInfo()); $template_processor->display("edit_listing_type.tpl"); $form_collection = new SJB_FormCollection($listing_fields); $form_collection->registerTags($template_processor); $template_processor->assign("listing_field_sids", $listing_field_sids); $template_processor->display("listing_type_fields.tpl"); } }
public function execute() { $listingTypeSID = SJB_Request::getVar('sid', null); if (!is_null($listingTypeSID)) { SJB_Breadcrumbs::deleteBreadcrumbsByListingTypeSID($listingTypeSID); SJB_ListingTypeManager::deleteListingTypeBySID($listingTypeSID); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/listing-types/"); } echo 'The system cannot proceed as Listing Type SID is not set'; }