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");
     }
 }
Exemple #2
0
 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();
     }
 }
Exemple #6
0
 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');
     }
 }
Exemple #7
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 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');
     }
 }
Exemple #12
0
 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');
 }
Exemple #13
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');
 }
 /**
  * @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;
 }
Exemple #16
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');
 }
Exemple #17
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');
 }
 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\\&amp;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) {
     }
 }
Exemple #19
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');
 }
Exemple #20
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');
     }
 }
Exemple #21
0
 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/");
 }
Exemple #22
0
 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;
 }
Exemple #24
0
 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');
     }
 }
Exemple #25
0
 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);
 }
Exemple #28
0
 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');
     }
 }
Exemple #29
0
 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';
 }