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() { $template_processor = SJB_System::getTemplateProcessor(); if (isset($_REQUEST['action'], $_REQUEST['field_sid'])) { if ($_REQUEST['action'] == 'move_up') { SJB_ListingFieldManager::moveUpFieldBySID($_REQUEST['field_sid']); } elseif ($_REQUEST['action'] == 'move_down') { SJB_ListingFieldManager::moveDownFieldBySID($_REQUEST['field_sid']); } } $listing_fields_info = SJB_ListingFieldManager::getCommonListingFieldsInfo(); $listing_fields = array(); $listing_field_sids = array(); foreach ($listing_fields_info as $listing_field_info) { $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']; } $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_fields.tpl"); }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $action = SJB_Request::getVar('action', 'list'); $fieldSID = SJB_Request::getVar('field_sid', false); $errors = null; if ($fieldSID) { $tp->assign('field_sid', $fieldSID); $field_info = SJB_ListingFieldManager::getFieldInfoBySID($fieldSID); $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($field_info['listing_type_sid']); $tp->assign("field_info", $field_info); $tp->assign("type_info", $listing_type_info); $tp->assign("type_sid", isset($listing_type_info['sid']) ? $listing_type_info['sid'] : false); switch ($action) { case 'add': $form_is_submitted = SJB_Request::getVar('submit_form', false); $sid = SJB_Request::getVar('sid', false); $request = $_REQUEST; if ($sid) { $listing_field_info = SJB_ListingFieldDBManager::getListingComplexFieldInfoBySID($sid); $request = array_merge($listing_field_info, $request); } $listing_field = new SJB_ListingComplexField($request); if ($sid) { $listing_field->setSID($sid); } $add_listing_field_form = new SJB_Form($listing_field); $add_listing_field_form->registerTags($tp); if ($form_is_submitted && $add_listing_field_form->isDataValid($errors)) { $listing_field->addProperty(array('id' => 'field_sid', 'value' => $fieldSID, 'type' => 'id', 'is_required' => true, 'is_system' => true)); SJB_ListingComplexFieldManager::saveListingField($listing_field); } if (SJB_Request::getVar('apply') == 'no' && empty($errors)) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . "/edit-listing-field/edit-fields/?field_sid=" . $fieldSID); } $add_listing_field_form->registerTags($tp); $tp->assign("sid", $listing_field->getSID()); $tp->assign("field_type", $listing_field->getFieldType()); $tp->assign("form_fields", $this->getFormFieldsInfo($add_listing_field_form)); $tp->assign("errors", $errors); $tp->assign("action", $action); $tp->display("edit_complex_field.tpl"); break; case 'edit': $listing_field_sid = SJB_Request::getVar('sid', 0); $listing_field_info = SJB_ListingFieldDBManager::getListingComplexFieldInfoBySID($listing_field_sid); $listing_field = new SJB_ListingComplexField($listing_field_info); $add_listing_field_form = new SJB_Form($listing_field); $add_listing_field_form->registerTags($tp); $add_listing_field_form->registerTags($tp); $tp->assign("field_type", $listing_field->getFieldType()); $tp->assign("sid", $listing_field_sid); $tp->assign("form_fields", $this->getFormFieldsInfo($add_listing_field_form)); $tp->assign("errors", $errors); $tp->display("edit_complex_field.tpl"); break; case 'move_up': $fieldSID = SJB_ListingComplexFieldManager::moveUpFieldBySID($fieldSID); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/edit-listing-field/edit-fields/?field_sid=" . $fieldSID); break; case 'move_down': $fieldSID = SJB_ListingComplexFieldManager::moveDownFieldBySID($fieldSID); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/edit-listing-field/edit-fields/?field_sid=" . $fieldSID); break; case 'delete': $listing_field_sid = SJB_Request::getVar('sid', 0); SJB_ListingComplexFieldManager::deleteListingFieldBySID($listing_field_sid); $action = 'list'; break; } if ($action == 'list') { $listing_fields_info = SJB_ListingComplexFieldManager::getListingFieldsInfoByParentSID($fieldSID); $listing_fields = array(); $listing_field_sids = array(); foreach ($listing_fields_info as $listing_field_info) { $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']; } $form_collection = new SJB_FormCollection($listing_fields); $form_collection->registerTags($tp); $tp->assign("listing_field_sids", $listing_field_sids); $tp->display("listing_complex_fields.tpl"); } } }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $userInfo = SJB_Authorization::getCurrentUserInfo(); if (empty($userInfo)) { $tp->assign("ERROR", "NOT_LOGIN"); $tp->display("../miscellaneous/error.tpl"); return; } $template = SJB_Request::getVar('template', 'my_invoices.tpl'); $searchTemplate = SJB_Request::getVar('search_template', 'invoice_search_form.tpl'); /***************************************************************/ $_REQUEST['action'] = 'search'; $_REQUEST['user_sid']['equal'] = $userInfo['sid']; if (!isset($_REQUEST['date'])) { $i18n = SJB_ObjectMother::createI18N(); $_REQUEST['date']['not_less'] = $i18n->getDate(date('Y-m-d', time() - 30 * 24 * 60 * 60)); $_REQUEST['date']['not_more'] = $i18n->getDate(date('Y-m-d')); } $invoice = new SJB_Invoice(array()); $invoice->addProperty(array('id' => 'username', 'type' => 'string', 'value' => '', 'is_system' => true)); $aliases = new SJB_PropertyAliases(); $aliases->addAlias(array('id' => 'username', 'real_id' => 'user_sid', 'transform_function' => 'SJB_UserDBManager::getUserSIDsLikeSearchString')); $searchFormBuilder = new SJB_SearchFormBuilder($invoice); $criteriaSaver = new SJB_InvoiceCriteriaSaver(); if (isset($_REQUEST['restore'])) { $_REQUEST = array_merge($_REQUEST, $criteriaSaver->getCriteria()); } $criteria = $searchFormBuilder->extractCriteriaFromRequestData($_REQUEST, $invoice); $searchFormBuilder->setCriteria($criteria); $searchFormBuilder->registerTags($tp); $tp->display($searchTemplate); /********************** S O R T I N G *********************/ $criteria = $searchFormBuilder->extractCriteriaFromRequestData($_REQUEST, $invoice); $searcher = new SJB_InvoiceSearcher(); $foundInvoices = array(); $foundInvoicesInfo = array(); if (SJB_Request::getVar('action', '') == 'search') { $foundInvoices = $searcher->getObjectsByCriteria($criteria, $aliases); $criteriaSaver->setSession($_REQUEST, $searcher->getFoundObjectSIDs()); } elseif (isset($_REQUEST['restore'])) { $foundInvoices = $criteriaSaver->getObjectsFromSession(); } foreach ($foundInvoices as $id => $invoice) { $invoice->addProperty(array('id' => 'sid', 'type' => 'string', 'value' => $invoice->getSID())); $subUserSid = $invoice->getPropertyValue('subuser_sid'); if ($subUserSid) { $payer = SJB_UserManager::getUserNameByUserSID($subUserSid); } else { $userSid = $invoice->getPropertyValue('user_sid'); $payer = SJB_UserManager::getUserNameByUserSID($userSid); } $invoice->addProperty(array('id' => 'payer', 'type' => 'string', 'value' => $payer)); $foundInvoices[$id] = $invoice; $foundInvoicesInfo[$invoice->getSID()] = SJB_InvoiceManager::getInvoiceInfoBySID($invoice->getSID()); } $sortingField = SJB_Request::getVar('sorting_field', 'sid'); $sortingOrder = SJB_Request::getVar('sorting_order', 'DESC'); if ($invoice->propertyIsSet($sortingField)) { $sortArray = array(); $sortedFoundInvoicesInfo = array(); foreach ($foundInvoices as $id => $invoice) { $sortArray[$id] = $invoice->getPropertyValue($sortingField); } if ($sortingOrder == 'ASC') { asort($sortArray); } elseif ($sortingOrder == 'DESC') { arsort($sortArray); } foreach ($sortArray as $id => $value) { $sortedFoundInvoicesInfo[$id] = $foundInvoicesInfo[$id]; } } else { $sortedFoundInvoicesInfo = $foundInvoicesInfo; } $formCollection = new SJB_FormCollection($foundInvoices); $formCollection->registerTags($tp); $subUsers = SJB_UserManager::getSubUsers($userInfo['sid']); $isSubUserExists = !empty($subUsers) ? true : false; $tp->assign('isSubUserExists', $isSubUserExists); $tp->assign('sorting_field', $sortingField); $tp->assign('sorting_order', $sortingOrder); $tp->assign('found_invoices', $sortedFoundInvoicesInfo); $tp->display($template); }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $template = SJB_Request::getVar('template', 'manage_invoices.tpl'); $searchTemplate = SJB_Request::getVar('search_template', 'invoice_search_form.tpl'); $action = SJB_Request::getVar('action_name'); if (!empty($action)) { $invoicesSIDs = SJB_Request::getVar('invoices', array()); $_REQUEST['restore'] = 1; switch ($action) { case 'paid': foreach (array_keys($invoicesSIDs) as $invoiceSID) { $invoice = SJB_InvoiceManager::getObjectBySID($invoiceSID); $userSID = $invoice->getPropertyValue('user_sid'); if (SJB_UserManager::isUserExistsByUserSid($userSID)) { $items = $invoice->getPropertyValue('items'); $productSIDs = $items['products']; foreach ($productSIDs as $key => $productSID) { if ($productSID != -1) { if (SJB_ProductsManager::isProductExists($productSID)) { $productInfo = $invoice->getItemValue($key); $listingNumber = $productInfo['qty']; $contract = new SJB_Contract(array('product_sid' => $productSID, 'numberOfListings' => $listingNumber, 'is_recurring' => $invoice->isRecurring())); $contract->setUserSID($userSID); $contract->setPrice($items['amount'][$key]); if ($contract->saveInDB()) { SJB_ListingManager::activateListingsAfterPaid($userSID, $productSID, $contract->getID(), $listingNumber); SJB_ShoppingCart::deleteItemFromCartBySID($productInfo['shoppingCartRecord'], $userSID); $bannerInfo = $productInfo['banner_info']; if ($productInfo['product_type'] == 'banners' && !empty($bannerInfo)) { $bannersObj = new SJB_Banners(); $bannersObj->addBanner($bannerInfo['title'], $bannerInfo['link'], $bannerInfo['bannerFilePath'], $bannerInfo['sx'], $bannerInfo['sy'], $bannerInfo['type'], 0, $bannerInfo['banner_group_sid'], $bannerInfo, $userSID, $contract->getID()); $bannerGroup = $bannersObj->getBannerGroupBySID($bannerInfo['banner_group_sid']); SJB_AdminNotifications::sendAdminBannerAddedLetter($userSID, $bannerGroup); } if ($contract->isFeaturedProfile()) { SJB_UserManager::makeFeaturedBySID($userSID); } if (SJB_UserNotificationsManager::isUserNotifiedOnSubscriptionActivation($userSID)) { SJB_Notifications::sendSubscriptionActivationLetter($userSID, $productInfo); } } } } else { $type = SJB_Array::getPath($items, 'custom_info/' . $key . '/type'); switch ($type) { case 'featuredListing': $listingId = SJB_Array::getPath($items, 'custom_info/' . $key . '/listing_id'); SJB_ListingManager::makeFeaturedBySID($listingId); break; case 'priorityListing': $listingId = SJB_Array::getPath($items, 'custom_info/' . $key . '/listing_id'); SJB_ListingManager::makePriorityBySID($listingId); break; case 'activateListing': $listingsIds = explode(",", SJB_Array::getPath($items, 'custom_info/' . $key . '/listings_ids')); foreach ($listingsIds as $listingId) { SJB_ListingManager::activateListingBySID($listingId); } break; } } } SJB_Statistics::addStatisticsFromInvoice($invoice); } $total = $invoice->getPropertyValue('total'); if ($total > 0) { $gatewayID = $invoice->getPropertyValue('payment_method'); $gatewayID = isset($gatewayID) ? $gatewayID : 'cash_payment'; $transactionId = md5($invoiceSID . $gatewayID); $transactionInfo = array('transaction_id' => $transactionId, 'invoice_sid' => $invoiceSID, 'amount' => $total, 'payment_method' => $gatewayID, 'user_sid' => $invoice->getPropertyValue('user_sid')); $transaction = new SJB_Transaction($transactionInfo); SJB_TransactionManager::saveTransaction($transaction); } SJB_InvoiceManager::markPaidInvoiceBySID($invoiceSID); SJB_PromotionsManager::markPromotionAsPaidByInvoiceSID($invoiceSID); } SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/manage-invoices/"); break; case 'unpaid': foreach (array_keys($invoicesSIDs) as $invoiceSID) { SJB_InvoiceManager::markUnPaidInvoiceBySID($invoiceSID); } SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-invoices/'); break; case 'delete': foreach (array_keys($invoicesSIDs) as $invoiceSID) { SJB_InvoiceManager::deleteInvoiceBySID($invoiceSID); } SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-invoices/'); break; default: unset($_REQUEST['restore']); break; } } /***************************************************************/ $_REQUEST['action'] = 'search'; $invoice = new SJB_Invoice(array()); $invoice->addProperty(array('id' => 'username', 'type' => 'string', 'value' => '', 'is_system' => true)); $aliases = new SJB_PropertyAliases(); $aliases->addAlias(array('id' => 'username', 'real_id' => 'user_sid', 'transform_function' => 'SJB_UserDBManager::getUserSIDsLikeSearchString')); $searchFormBuilder = new SJB_SearchFormBuilder($invoice); $criteriaSaver = new SJB_InvoiceCriteriaSaver(); if (isset($_REQUEST['restore'])) { $_REQUEST = array_merge($_REQUEST, $criteriaSaver->getCriteria()); } $criteria = $searchFormBuilder->extractCriteriaFromRequestData($_REQUEST, $invoice); $searchFormBuilder->setCriteria($criteria); $searchFormBuilder->registerTags($tp); $tp->display($searchTemplate); /********************** S O R T I N G *********************/ $paginator = new SJB_InvoicePagination(); $innerJoin = false; if ($paginator->sortingField == 'username') { $innerJoin = array('users' => array('sort_field' => array(36 => array('FirstName', 'LastName'), 41 => 'CompanyName'), 'join_field' => 'sid', 'join_field2' => 'user_sid', 'main_table' => 'invoices', 'join' => 'LEFT JOIN')); } $searcher = new SJB_InvoiceSearcher(array('limit' => ($paginator->currentPage - 1) * $paginator->itemsPerPage, 'num_rows' => $paginator->itemsPerPage), $paginator->sortingField, $paginator->sortingOrder, $innerJoin); $foundInvoices = array(); $foundInvoicesInfo = array(); if (SJB_Request::getVar('action', '') == 'search') { $foundInvoices = $searcher->getObjectsByCriteria($criteria, $aliases); if (empty($foundInvoices) && $paginator->currentPage != 1) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/manage-invoices/?page=1'); } $criteriaSaver->setSession($_REQUEST, $searcher->getFoundObjectSIDs()); } elseif (isset($_REQUEST['restore'])) { $foundInvoices = $criteriaSaver->getObjectsFromSession(); } foreach ($foundInvoices as $id => $invoice) { $subUserSID = $invoice->getPropertyValue('subuser_sid'); if ($subUserSID) { $subUserInfo = SJB_UserManager::getUserInfoBySID($subUserSID); $parentInfo = SJB_UserManager::getUserInfoBySID($subUserInfo['parent_sid']); $username = $parentInfo['CompanyName']; } else { $userSID = $invoice->getPropertyValue('user_sid'); $userInfo = SJB_UserManager::getUserInfoBySID($userSID); if (SJB_UserGroupManager::getUserGroupIDBySID($userInfo['user_group_sid']) == 'Employer') { $username = $userInfo['CompanyName']; } else { if (SJB_UserGroupManager::getUserGroupIDBySID($userInfo['user_group_sid']) == 'JobSeeker') { $username = $userInfo['FirstName'] . ' ' . $userInfo['LastName']; } else { $username = $userInfo['username']; } } } $invoice->addProperty(array('id' => 'sid', 'type' => 'string', 'value' => $invoice->getSID())); $invoice->addProperty(array('id' => 'username', 'type' => 'string', 'value' => $username)); $foundInvoices[$id] = $invoice; $foundInvoicesInfo[$invoice->getSID()] = SJB_InvoiceManager::getInvoiceInfoBySID($invoice->getSID()); $foundInvoicesInfo[$invoice->getSID()]['userExists'] = !empty($username) ? 1 : 0; } /****************************************************************/ $paginator->setItemsCount($searcher->getAffectedRows()); $form_collection = new SJB_FormCollection($foundInvoices); $form_collection->registerTags($tp); $tp->assign('paginationInfo', $paginator->getPaginationInfo()); $tp->assign("found_invoices", $foundInvoicesInfo); $tp->display($template); }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $action = SJB_Request::getVar('action', 'list'); $fieldSID = SJB_Request::getVar('field_sid', false); $parentSID = SJB_Request::getVar('sid', false); $errors = null; if ($fieldSID) { $tp->assign('field_sid', $fieldSID); $field_info = SJB_ListingFieldManager::getFieldInfoBySID($fieldSID); $listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($field_info['listing_type_sid']); $tp->assign("field_info", $field_info); $tp->assign("type_info", $listing_type_info); $tp->assign("type_sid", isset($listing_type_info['sid']) ? $listing_type_info['sid'] : false); switch ($action) { case 'edit': $form_submitted = SJB_Request::getVar('submit_form', false); $sid = SJB_Request::getVar('sid', 0); $listingFieldInfo = SJB_ListingFieldDBManager::getListingFieldInfoBySID($sid); $listingFieldInfo = array_merge($listingFieldInfo, $_REQUEST); $listingField = new SJB_ListingField($listingFieldInfo); $listingField->deleteProperty('type'); $listingField->addProperty(array('id' => 'hidden', 'caption' => 'Hidden', 'type' => 'boolean', 'value' => isset($listingFieldInfo['hidden']) ? $listingFieldInfo['hidden'] : '', 'is_system' => true)); $profileField = SJB_Request::getVar('profile_field', false); if ($form_submitted) { if ($profileField) { $listingFieldInfo['default_value'] = ''; $listingFieldInfo['profile_field_as_dv'] = $listingFieldInfo['id']; } else { $listingFieldInfo['profile_field_as_dv'] = ''; } } if (!empty($listingFieldInfo['default_value_setting'])) { if ($listingFieldInfo['default_value_setting'] == 'default_country') { $listingFieldInfo['default_value'] = $listingFieldInfo['default_value_setting']; $listingFieldInfo['profile_field_as_dv'] = ''; } elseif ($listingFieldInfo['default_value_setting'] == 'profile_field') { $listingFieldInfo['default_value'] = ''; $listingFieldInfo['profile_field_as_dv'] = $listingFieldInfo['id']; } } $additionalParameters = array(); if ($listingFieldInfo['id'] == 'Country') { $additionalParameters = array('list_values' => SJB_CountriesManager::getAllCountriesCodesAndNames()); $display_as = array('id' => 'display_as', 'caption' => 'Display Country as', 'type' => 'list', 'value' => isset($listingFieldInfo['display_as']) ? $listingFieldInfo['display_as'] : '', 'list_values' => array(array('id' => 'country_name', 'caption' => 'Country Name'), array('id' => 'country_code', 'caption' => 'Country Code')), 'is_system' => true, 'is_required' => true); } elseif ($listingFieldInfo['id'] == 'State') { $defaultCountry = SJB_ListingFieldManager::getDefaultCountryByParentSID($fieldSID); $additionalParameters['list_values'] = array(); if (is_numeric($defaultCountry)) { $additionalParameters['list_values'] = SJB_StatesManager::getStatesNamesByCountry($defaultCountry); } elseif (!empty($defaultCountry)) { $listingFieldInfo['profile_field_as_dv'] = $listingFieldInfo['id']; $tp->assign('disableField', 1); } else { $additionalParameters['comment'] = 'Please select default country first to select default State'; } $display_as = array('id' => 'display_as', 'caption' => 'Display State as', 'type' => 'list', 'value' => isset($listingFieldInfo['display_as']) ? $listingFieldInfo['display_as'] : '', 'list_values' => array(array('id' => 'state_name', 'caption' => 'State Name'), array('id' => 'state_code', 'caption' => 'State Code')), 'is_system' => true, 'is_required' => true); } $default_value = array('id' => 'default_value', 'sid' => isset($listingFieldInfo['sid']) ? $listingFieldInfo['sid'] : '', 'caption' => 'Default Value', 'value' => isset($listingFieldInfo['default_value']) ? $listingFieldInfo['default_value'] : '', 'type' => $listingField->field_type, 'length' => '', 'is_required' => false, 'is_system' => true, 'add_parameter' => isset($listingFieldInfo['add_parameter']) ? $listingFieldInfo['add_parameter'] : ''); $default_value = array_merge($default_value, $additionalParameters); $listingField->addProperty($default_value); $profile_field_as_dv = array('id' => 'profile_field_as_dv', 'caption' => 'Default Value', 'value' => isset($listingFieldInfo['profile_field_as_dv']) ? $listingFieldInfo['profile_field_as_dv'] : '', 'type' => 'list', 'length' => '', 'is_required' => false, 'is_system' => true); $listingField->addProperty($profile_field_as_dv); if (isset($display_as)) { $listingField->addProperty($display_as); } if ($form_submitted) { $listingField->addInfillInstructions(SJB_Request::getVar('instructions')); } else { $listingField->addInfillInstructions(isset($listingFieldInfo['instructions']) ? $listingFieldInfo['instructions'] : ''); } $ListingFieldForm = new SJB_Form($listingField); $ListingFieldForm->registerTags($tp); $listingField->setSID($sid); $addValidParam = array('field' => 'parent_sid', 'value' => $parentSID); if ($form_submitted && $ListingFieldForm->isDataValid($errors, $addValidParam)) { SJB_ListingFieldManager::saveListingField($listingField); if ($listingFieldInfo['id'] == 'Country') { $profileFieldAsDv = $listingField->getPropertyValue('profile_field_as_dv'); if ($profileFieldAsDv) { $listingFieldsInfo = SJB_ListingFieldManager::getListingFieldsInfoByParentSID($fieldSID); foreach ($listingFieldsInfo as $fieldInfo) { if ($fieldInfo['id'] == 'State') { $listingField = new SJB_ListingField($fieldInfo); $listingField->setSID($fieldInfo['sid']); $default_value = array('id' => 'default_value', 'sid' => isset($fieldInfo['sid']) ? $fieldInfo['sid'] : '', 'caption' => 'Default Value', 'value' => '', 'type' => $listingField->field_type, 'length' => '', 'is_required' => false, 'is_system' => true, 'add_parameter' => isset($fieldInfo['add_parameter']) ? $fieldInfo['add_parameter'] : ''); $listingField->addProperty($default_value); $profile_field_as_dv = array('id' => 'profile_field_as_dv', 'caption' => 'Default Value', 'value' => 'State', 'type' => 'list', 'length' => '', 'is_required' => false, 'is_system' => true); $listingField->addProperty($profile_field_as_dv); SJB_ListingFieldManager::saveListingField($listingField); } } } } if (SJB_Request::getVar('apply') == 'no' && empty($errors)) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . "/edit-listing-field/edit-location-fields/?field_sid=" . $fieldSID); } } $ListingFieldForm->makeDisabled('id'); $tp->assign('profileFieldAsDV', !empty($listingFieldInfo['profile_field_as_dv'])); $tp->assign('listingFieldInfo', $listingFieldInfo); $tp->assign("field_type", $listingField->getFieldType()); $tp->assign("sid", $sid); $tp->assign("form_fields", $ListingFieldForm->getFormFieldsInfo()); $tp->assign("errors", $errors); $tp->display("edit_location_field.tpl"); break; case 'move_up': SJB_ListingFieldManager::moveUpFieldBySID($fieldSID); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/edit-listing-field/edit-location-fields/?field_sid=" . $parentSID); break; case 'move_down': SJB_ListingFieldManager::moveDownFieldBySID($fieldSID); SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . "/edit-listing-field/edit-location-fields/?field_sid=" . $parentSID); break; } if ($action == 'list') { $listingFieldsInfo = SJB_ListingFieldManager::getListingFieldsInfoByParentSID($fieldSID); $listingFields = array(); $listingFieldSids = array(); foreach ($listingFieldsInfo as $listingFieldInfo) { $listingField = new SJB_ListingField($listingFieldInfo); $listingField->addProperty(array('id' => 'hidden', 'caption' => 'Hidden', 'type' => 'boolean', 'value' => isset($listingFieldInfo['hidden']) ? $listingFieldInfo['hidden'] : '', 'is_system' => true)); $listingField->setSID($listingFieldInfo['sid']); $listingFields[] = $listingField; $listingFieldSids[] = $listingFieldInfo['sid']; } $form_collection = new SJB_FormCollection($listingFields); $form_collection->registerTags($tp); $tp->assign("listing_field_sids", $listingFieldSids); $tp->display("listing_location_fields.tpl"); } } }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $template = SJB_Request::getVar('display_template'); $page = 1; $searchId = strip_tags(SJB_Request::getVar('searchId', time())); if (!empty($_REQUEST["page"])) { $page = intval($_REQUEST["page"]); } $items_per_page = SJB_Request::getVar('companies_per_page', false); $listing_type_sid = SJB_ListingTypeManager::getListingTypeSIDByID($_REQUEST["listing_type_id"]); $alphabets = SJB_AlphabetManager::getAlphabetsForDisplay(); $abArr = array(); foreach ($alphabets as $alphabet) { $abArr[] = explode(' ', $alphabet['value']); } $action = SJB_Request::getVar('action', 'search_form'); if (SJB_Request::getVar('first_char')) { $action = 'search'; $_REQUEST['CompanyName']['first_char_like'] = SJB_Request::getVar('first_char'); } elseif (!isset($_REQUEST['CompanyName']) || $_REQUEST['CompanyName']['like'] == '') { $_REQUEST['CompanyName']['not_empty'] = true; } $userGroupSid = SJB_UserGroupManager::getUserGroupSIDByID('Employer'); $userGroupFields = SJB_UserProfileFieldManager::getFieldsInfoByUserGroupSID($userGroupSid); foreach ($userGroupFields as $key => $userGroupField) { if ($userGroupField['type'] == 'location') { $userGroupFields[$key]['fields'] = array(); $userGroupFields[$key]['fields'][$userGroupField['sid']] = $userGroupField; } } $user = new SJB_User(array(), $userGroupSid); $_REQUEST['active']['equal'] = 1; $search_form_builder = new SJB_SearchFormBuilder($user); $criteria_saver = new SJB_UserCriteriaSaver($searchId); $criteria_saver->setSessionForOrderInfo($_REQUEST); if (isset($_REQUEST['searchId'])) { $action = 'search'; $criteria = $criteria_saver->getCriteria(); if (!empty($_REQUEST['sorting_field'])) { unset($criteria['sorting_field']); } else { $orderInfo = $criteria_saver->getOrderInfo(); if (!empty($orderInfo['sorting_order'])) { $criteria['sorting_order'] = $orderInfo['sorting_order']; } } $_REQUEST = array_merge($_REQUEST, $criteria); if (!$items_per_page) { $items_per_page = $criteria_saver->listings_per_page; } } $items_per_page = $items_per_page ? $items_per_page : 10; $criteria = $search_form_builder->extractCriteriaFromRequestData(array_merge($_REQUEST, array('username' => array('not_equal' => 'jobg8'))), $user); if ($items_per_page) { $criteria_saver->setSessionForListingsPerPage($items_per_page); } $search_form_builder->setCriteria($criteria); $search_form_builder->registerTags($tp); $form_fields = $search_form_builder->getFormFieldsInfo(); $tp->assign('form_fields', $form_fields); $metaDataProvider = SJB_ObjectMother::getMetaDataProvider(); $tp->assign('METADATA', array('form_fields' => $metaDataProvider->getFormFieldsMetadata($form_fields))); $tp->assign('userGroupFields', $userGroupFields); $tp->assign('action', $action); $tp->assign('alphabets', $abArr); if ($action == 'search') { $sorting_field = SJB_Request::getVar('sorting_field', false); $sorting_order = SJB_Request::getVar('sorting_order', false); if (isset($_REQUEST['searchId']) && !$sorting_field) { $order_info = $criteria_saver->order_info; if ($order_info) { $sorting_field = $order_info['sorting_field']; $sorting_order = $order_info['sorting_order']; } } if (!$sorting_field) { $sorting_field = 'CompanyName'; $sorting_order = 'ASC'; } $inner_join = array(); if ($sorting_field == 'number_of_jobs') { if (SJB_ListingTypeManager::getWaitApproveSettingByListingType($listing_type_sid) == 1) { $count = "sum( if( `listings`.`status` = 'approved', `listings`.`active`, 0 ) )"; } else { $count = "sum(`listings`.`active`)"; } $inner_join = array('listings' => array('sort_field' => $count, 'noPresix' => true, 'join_field' => 'user_sid', 'join_field2' => 'sid', 'join' => 'LEFT JOIN', 'groupBy' => '`users`.`sid`')); } elseif ($sorting_field == 'Location_State') { $inner_join = array('states' => array('sort_field' => 'state_name', 'noPresix' => true, 'join_field' => 'sid', 'join_field2' => 'Location_State', 'join' => 'LEFT JOIN')); } $searcher = new SJB_UserSearcher(false, $sorting_field, $sorting_order, $inner_join, array('limit' => ($page - 1) * $items_per_page, 'num_rows' => $items_per_page)); $found_users = array(); $found_users_sids = array(); $found_users_by_criteria = $searcher->getObjectsByCriteria($criteria, null, array(), true); $foundObjectSIDs = $searcher->getFoundObjectSIDs(); // display search form $tp->display($template); $criteria_saver->setSession($_REQUEST, $foundObjectSIDs); if (count($foundObjectSIDs) > 0) { $listingType = SJB_ListingTypeManager::getListingTypeInfoBySID($listing_type_sid); $countListings = SJB_ListingDBManager::getActiveAndApproveJobsNumberForUsers($foundObjectSIDs, $listingType); } foreach ($found_users_by_criteria as $id => $user) { $listingsNumber = isset($countListings[$id]) ? $countListings[$id] : 0; $user->addProperty(array('id' => 'countListings', 'type' => 'string', 'value' => $listingsNumber)); if ($user->getProperty('CompanyName')) { $found_users_sids[$user->getSID()] = $user->getSID(); $found_users[$id] = $user; } } $usersCount = $searcher->getAffectedRows(); $form_collection = new SJB_FormCollection($found_users); $form_collection->registerTags($tp); $pages = array(); for ($i = $page - 3; $i < $page + 3; $i++) { if ($i > 0) { $pages[] = $i; } if ($i * $items_per_page > $usersCount) { break; } } $totalPages = ceil($usersCount / $items_per_page); if (empty($totalPages)) { $totalPages = 1; } if (array_search(1, $pages) === false) { array_unshift($pages, 1); } if (array_search($totalPages, $pages) === false) { array_push($pages, $totalPages); } $tp->assign("sorting_order", $sorting_order); $tp->assign("sorting_field", $sorting_field); $tp->assign("found_users_sids", $found_users_sids); $tp->assign("companies_per_page", $items_per_page); $tp->assign("searchId", $searchId); $tp->assign("usersCount", $usersCount); $tp->assign("current_page", $page); $tp->assign("pages_number", $totalPages); $tp->display('search_result_company.tpl'); } else { // display search form $tp->display($template); } }
public function execute() { $tp = SJB_System::getTemplateProcessor(); $errors = array(); /********** A C T I O N S W I T H T R A N S A C T I O N S **********/ $action = SJB_Request::getVar('action_name', SJB_Request::getVar('action', false)); $transactions_sids = SJB_Request::getVar('transactions', false); if ($action && $transactions_sids) { $_REQUEST['restore'] = 1; if ($action == 'delete') { // DELETE foreach ($transactions_sids as $transaction_sid => $value) { SJB_TransactionManager::deleteTransactionBySID($transaction_sid); } } else { unset($_REQUEST['restore']); } } /********** D E F A U L T V A L U E S F O R S E A R C H **********/ $_REQUEST['action'] = 'filter'; $i18n = SJB_ObjectMother::createI18N(); if (!isset($_REQUEST['date'])) { $_REQUEST['date']['not_less'] = $i18n->getDate(date('Y-m-d', time() - 30 * 24 * 60 * 60)); $_REQUEST['date']['not_more'] = $i18n->getDate(date('Y-m-d', time() + 24 * 60 * 60)); } else { if (!$i18n->isValidDate($_REQUEST['date']['not_less']) && !empty($_REQUEST['date']['not_less'])) { $errors[] = 'INVALID_PERIOD_FROM'; } if (!$i18n->isValidDate($_REQUEST['date']['not_more']) && !empty($_REQUEST['date']['not_more'])) { $errors[] = 'INVALID_PERIOD_TO'; } } /************************ S E A R C H F O R M ***************************/ $transaction = new SJB_Transaction(); $transaction->addProperty(array('id' => 'username', 'type' => 'string', 'value' => '', 'is_system' => true)); $aliases = new SJB_PropertyAliases(); $aliases->addAlias(array('id' => 'username', 'real_id' => 'user_sid', 'transform_function' => 'SJB_UserManager::getUserSIDsLikeUsername')); $search_form_builder = new SJB_SearchFormBuilder($transaction); $criteria_saver = new SJB_TransactionCriteriaSaver(); if (isset($_REQUEST['restore'])) { $_REQUEST = array_merge($_REQUEST, $criteria_saver->getCriteria()); } $criteria = $search_form_builder->extractCriteriaFromRequestData($_REQUEST, $transaction); $search_form_builder->setCriteria($criteria); $search_form_builder->registerTags($tp); $tp->display('payment_form.tpl'); /******************** S E A R C H ************************/ $paginator = new SJB_TransactionHistoryPagination(); $searcher = new SJB_TransactionSearcher($paginator); if (SJB_Request::getVar('action', '') == 'filter') { $transactions = $searcher->getObjectsByCriteria($criteria, $aliases); if (empty($transactions) && $paginator->currentPage != 1) { SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/payments/?page=1'); } $criteria_saver->setSession($_REQUEST, $searcher->getFoundObjectSIDs()); } elseif (isset($_REQUEST['restore'])) { $transactions = $criteria_saver->getObjectsFromSession(); } $paginator->setItemsCount($searcher->getAffectedRows()); $found_trans = array(); $found_trans_sids = array(); foreach ($transactions as $transaction) { $user_sid = $transaction->getPropertyValue('user_sid'); $username = SJB_UserManager::getUserNameByUserSID($user_sid); $transaction->addProperty(array('id' => 'username', 'type' => 'string', 'value' => $username)); $found_trans[$transaction->getSID()] = $transaction; $found_trans_sids[$transaction->getSID()] = $transaction->getSID(); } $sorted_found_trans_sids = $found_trans_sids; $form_collection = new SJB_FormCollection($found_trans); $form_collection->registerTags($tp); $tp->assign('paginationInfo', $paginator->getPaginationInfo()); $tp->assign('errors', $errors); $tp->assign('found_transactions_sids', $sorted_found_trans_sids); $tp->display('payments.tpl'); }