本文整理汇总了PHP中SJB_HelperFunctions::getCharSets方法的典型用法代码示例。如果您正苦于以下问题:PHP SJB_HelperFunctions::getCharSets方法的具体用法?PHP SJB_HelperFunctions::getCharSets怎么用?PHP SJB_HelperFunctions::getCharSets使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SJB_HelperFunctions
的用法示例。
在下文中一共展示了SJB_HelperFunctions::getCharSets方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
//.........这里部分代码省略.........
$imported_file_config['fields_delimiter'] = $fields_delimiter;
$imported_location_count = null;
if (isset($_FILES['imported_geo_file']) && !$_FILES['imported_geo_file']['error']) {
$fileInfo = $_FILES['imported_geo_file'];
$fileFormats = array('csv', 'xls', 'xlsx');
$pathInfo = pathinfo($fileInfo['name']);
$fileExtension = isset($pathInfo['extension']) ? strtolower($pathInfo['extension']) : '';
if (!in_array(strtolower($fileExtension), $fileFormats)) {
$errors['File'] = 'WRONG_FORMAT';
}
if (empty($_FILES['imported_geo_file']['name'])) {
$errors['File'] = 'EMPTY_VALUE';
}
if (empty($start_line)) {
$errors['Start Line'] = 'EMPTY_VALUE';
} elseif (!is_numeric($start_line) || !is_int($start_line + 0)) {
$errors['Start Line'] = 'NOT_INT_VALUE';
}
if (empty($name_column)) {
$errors['Name Column'] = 'EMPTY_VALUE';
} elseif (!is_numeric($name_column) || !is_int($name_column + 0)) {
$errors['Name Column'] = 'NOT_INT_VALUE';
}
if (empty($longitude_column)) {
$errors['Longitude Column'] = 'EMPTY_VALUE';
} elseif (!is_numeric($longitude_column) || !is_int($longitude_column + 0)) {
$errors['Longitude Column'] = 'NOT_INT_VALUE';
}
if (empty($latitude_column)) {
$errors['Latitude Column'] = 'EMPTY_VALUE';
} elseif (!is_numeric($latitude_column) || !is_int($latitude_column + 0)) {
$errors['Latitude Column'] = 'NOT_INT_VALUE';
}
if (empty($country_sid)) {
$errors['Country'] = 'EMPTY_VALUE';
}
if (!SJB_ImportFile::isValidFileExtensionByFormat($file_format, $_FILES['imported_geo_file'])) {
$errors['File'] = 'DO_NOT_MATCH_SELECTED_FILE_FORMAT';
}
if (!SJB_ImportFile::isValidFileCharset($_FILES['imported_geo_file'], $encodingFromCharset)) {
$errors['Charset'] = 'CHARSET_INCORRECT';
}
if (is_null($errors)) {
set_time_limit(0);
$file_info = SJB_Array::get($_FILES, 'imported_geo_file');
if (!strcasecmp($file_format, 'excel')) {
$import_file = new SJB_ImportFileXLS($file_info);
} else {
if ($fields_delimiter == 'semicolon') {
$fields_delimiter = ';';
} elseif ($fields_delimiter == 'tab') {
$fields_delimiter = "\t";
} else {
$fields_delimiter = ',';
}
$import_file = new SJB_ImportFileCSV($file_info, $fields_delimiter);
}
$import_file->parse($encodingFromCharset);
$imported_data = $import_file->getData();
$imported_location_count = 0;
$countryInfo = SJB_CountriesManager::getCountryInfoBySID($country_sid);
foreach ($imported_data as $key => $importedColumn) {
if (empty($importedColumn[$name_column - 1]) || empty($importedColumn[$longitude_column - 1]) || empty($importedColumn[$latitude_column - 1]) || $start_line > $key) {
continue;
}
$name = $importedColumn[$name_column - 1];
$longitude = $importedColumn[$longitude_column - 1];
$latitude = $importedColumn[$latitude_column - 1];
$city = isset($importedColumn[$city_column - 1]) ? $importedColumn[$city_column - 1] : null;
$state = isset($importedColumn[$state_column - 1]) ? $importedColumn[$state_column - 1] : null;
$state_code = isset($importedColumn[$state_code_column - 1]) ? $importedColumn[$state_code_column - 1] : null;
if ($preview) {
if (count($importedDataForPreview) >= 10) {
break;
}
$importedDataForPreview[] = array('name' => $name, 'longitude' => $longitude, 'latitude' => $latitude, 'city' => $city, 'state' => $state, 'stateCode' => $state_code, 'country' => $countryInfo['country_name']);
} else {
$imported_location_count += SJB_LocationManager::addLocation($name, $longitude, $latitude, $city, $state, $state_code, $country_sid, $countryInfo);
}
}
}
} elseif ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errorSid = isset($_FILES['imported_geo_file']['error']) ? $_FILES['imported_geo_file']['error'] : 0;
$errors['File'] = SJB_UploadFileManager::getErrorId($errorSid);
}
$countries = SJB_CountriesManager::getAllCountriesCodesAndNames();
$template_processor->assign("charSets", SJB_HelperFunctions::getCharSets());
$template_processor->assign("importedGeographicData", $importedDataForPreview);
$template_processor->assign("countries", $countries);
$template_processor->assign("country_sid", $country_sid);
$template_processor->assign("errors", $errors);
$template_processor->assign("imported_location_count", $imported_location_count);
$template_processor->assign("imported_file_config", $imported_file_config);
$template_processor->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
if ($preview) {
$template_processor->display("import_geographic_data_preview.tpl");
} else {
$template_processor->display("import_geographic_data_form.tpl");
}
}
示例2: execute
public function execute()
{
ini_set('max_execution_time', 0);
$tp = SJB_System::getTemplateProcessor();
$file_info = isset($_FILES['import_file']) ? $_FILES['import_file'] : null;
$encodingFromCharset = SJB_Request::getVar('encodingFromCharset', 'UTF-8');
$listingTypeID = SJB_Request::getVar('listing_type_id', null);
$productSID = SJB_Request::getVar('product_sid', 0);
$errors = array();
if ($listingTypeID && $productSID) {
$acl = SJB_Acl::getInstance();
$resource = 'post_' . strtolower($listingTypeID);
if (!$acl->isAllowed($resource, $productSID, 'product')) {
$errors[] = 'You cannot import listings of this type under the selected product';
}
}
if (!empty($file_info)) {
$extension = SJB_Request::getVar('file_type');
if (!SJB_ImportFile::isValidFileExtensionByFormat($extension, $file_info)) {
$errors['DO_NOT_MATCH_SELECTED_FILE_FORMAT'] = true;
}
}
if (empty($file_info) || $file_info['error'] || $errors) {
if (isset($file_info['error']) && $file_info['error'] > 0) {
$errors[SJB_UploadFileManager::getErrorId($file_info['error'])] = 1;
}
$listing_types = SJB_ListingTypeManager::getAllListingTypesInfo();
$products = SJB_ProductsManager::getProductsByProductType('post_listings');
$tp->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
$tp->assign('listing_types', $listing_types);
$tp->assign('products', $products);
$tp->assign('errors', $errors);
$tp->assign('charSets', SJB_HelperFunctions::getCharSets());
$tp->display('import_listings.tpl');
} else {
$i18n = SJB_I18N::getInstance();
$csv_delimiter = SJB_Request::getVar('csv_delimiter', null);
$activeStatus = SJB_Request::getVar('active', 0);
$activationDate = SJB_Request::getVar('activation_date', date('Y-m-d'));
$activationDate = $i18n->getInput('date', $activationDate);
$non_existed_values_flag = SJB_Request::getVar('non_existed_values', null);
$productInfo = SJB_ProductsManager::getProductInfoBySID($productSID);
if (empty($productInfo['listing_duration'])) {
$expirationDate = '';
} else {
$timestamp = strtotime($activationDate . ' + ' . $productInfo['listing_duration'] . ' days');
$expirationDate = $i18n->getDate(date('Y-m-d', $timestamp));
}
$extension = $_REQUEST['file_type'];
if ($extension == 'xls') {
$import_file = new SJB_ImportFileXLS($file_info);
} elseif ($extension == 'csv') {
$import_file = new SJB_ImportFileCSV($file_info, $csv_delimiter);
}
$import_file->parse($encodingFromCharset);
$listing = $this->CreateListing(array(), $listingTypeID);
$imported_data = $import_file->getData();
$isFileImported = true;
$count = 0;
$addedListingsSids = array();
$nonExistentUsers = array();
foreach ($imported_data as $key => $importedColumn) {
if ($key == 1) {
$imported_data_processor = new SJB_ImportedDataProcessor($importedColumn, $listing);
continue;
}
if (!$importedColumn) {
continue;
}
$count++;
$listingInfo = $imported_data_processor->getData($non_existed_values_flag, $importedColumn);
$doc = new DOMDocument();
foreach ($listing->getProperties() as $property) {
if ($property->getType() == 'complex' && !empty($listingInfo[$property->id])) {
$childFields = SJB_ListingComplexFieldManager::getListingFieldsInfoByParentSID($property->sid);
$doc->loadXML($listingInfo[$property->id]);
$results = $doc->getElementsByTagName($property->id . 's');
$listingInfo[$property->id] = array();
foreach ($results as $complexparent) {
$i = 1;
foreach ($complexparent->getElementsByTagName($property->id) as $result) {
$resultXML = simplexml_import_dom($result);
foreach ($childFields as $childField) {
if (isset($resultXML->{$childField}['id'])) {
$listingInfo[$property->id][$childField['id']][$i] = XML_Util::reverseEntities((string) $resultXML->{$childField}['id']);
}
}
$i++;
}
}
} elseif ($property->getType() == 'monetary' && !empty($listingInfo[$property->id])) {
$value = $listingInfo[$property->id];
$listingInfo[$property->id] = array();
$listingInfo[$property->id]['value'] = $value;
$defaultCurrency = SJB_CurrencyManager::getDefaultCurrency();
$currencyCode = !empty($listingInfo[$property->id . "Currency"]) ? $listingInfo[$property->id . "Currency"] : $defaultCurrency['currency_code'];
$currency = SJB_CurrencyManager::getCurrencyByCurrCode($currencyCode);
$listingInfo[$property->id]['add_parameter'] = !empty($currency['sid']) ? $currency['sid'] : '';
if (isset($listingInfo[$property->id . "Currency"])) {
unset($listingInfo[$property->id . "Currency"]);
//.........这里部分代码省略.........
示例3: execute
public function execute()
{
ini_set('max_execution_time', 0);
$template_processor = SJB_System::getTemplateProcessor();
$errors = array();
$encodingFromCharset = SJB_Request::getVar('encodingFromCharset', 'UTF-8');
$file_info = isset($_FILES['import_file']) ? $_FILES['import_file'] : null;
if (!empty($file_info)) {
$extension = $_REQUEST['file_type'];
if (!SJB_ImportFile::isValidFileExtensionByFormat($extension, $file_info)) {
$errors['DO_NOT_MATCH_SELECTED_FILE_FORMAT'] = true;
}
}
if (empty($file_info) || $file_info['error'] || !empty($errors)) {
if (isset($file_info['error']) && $file_info['error'] > 0) {
$errors[SJB_UploadFileManager::getErrorId($file_info['error'])] = 1;
}
$user_groups = SJB_UserGroupManager::getAllUserGroupsInfo();
$template_processor->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
$template_processor->assign('user_groups', $user_groups);
$template_processor->assign('errors', $errors);
$template_processor->assign('charSets', SJB_HelperFunctions::getCharSets());
$template_processor->display('import_users.tpl');
} else {
$csv_delimiter = SJB_Request::getVar('csv_delimiter', null);
$user_group_id = SJB_Request::getVar('user_group_id', null);
$user_group_sid = SJB_UserGroupManager::getUserGroupSIDByID($user_group_id);
if ($extension == 'xls') {
$import_file = new SJB_ImportFileXLS($file_info);
} elseif ($extension == 'csv') {
$import_file = new SJB_ImportFileCSV($file_info, $csv_delimiter);
}
$import_file->parse($encodingFromCharset);
$user = $this->CreateUser(array(), $user_group_id);
$imported_data = $import_file->getData();
$count = 0;
$import_file_url = false;
$usersID = array();
foreach ($imported_data as $key => $importedColumn) {
if ($key == 1) {
$imported_user_processor = new SJB_ImportedUserProcessor($importedColumn, $user);
continue;
}
if (!$importedColumn) {
continue;
}
$userInfo = $imported_user_processor->getData($importedColumn);
$extUserID = isset($userInfo['extUserID']) ? $userInfo['extUserID'] : '';
$user = $this->CreateUser(array(), $user_group_id);
$user->addExtUserIDProperty();
$doc = new DOMDocument();
foreach ($user->getProperties() as $property) {
if ($property->id == 'active') {
$property->type->property_info['value'] = $property->value;
} elseif ($property->getType() == 'location') {
$locationFields = array($property->id . '.Country', $property->id . '.State', $property->id . '.City', $property->id . '.ZipCode', $property->id . '.Address');
$locationFieldAdded = array();
foreach ($locationFields as $locationField) {
if (array_key_exists($locationField, $userInfo)) {
switch ($locationField) {
case $property->id . '.Country':
$value = SJB_CountriesManager::getCountrySIDByCountryName($userInfo[$locationField]);
if (!$value) {
$value = SJB_CountriesManager::getCountrySIDByCountryCode($userInfo[$locationField]);
}
break;
case $property->id . '.State':
$value = SJB_StatesManager::getStateSIDByStateName($userInfo[$locationField]);
if (!$value) {
$value = SJB_StatesManager::getStateSIDByStateCode($userInfo[$locationField]);
}
break;
default:
$value = $userInfo[$locationField];
break;
}
unset($userInfo[$locationField]);
$userInfo[$property->id][str_replace($property->id . '.', '', $locationField)] = $value;
$locationFieldAdded[] = str_replace($property->id . '.', '', $locationField);
}
}
if ($property->id == 'Location') {
$locationFields = array('Country', 'State', 'City', 'ZipCode', 'Address');
foreach ($locationFields as $locationField) {
if (array_key_exists($locationField, $userInfo) && !in_array($locationField, $locationFieldAdded) && !$user->getProperty($locationField)) {
switch ($locationField) {
case 'Country':
$value = SJB_CountriesManager::getCountrySIDByCountryName($userInfo[$locationField]);
if (!$value) {
$value = SJB_CountriesManager::getCountrySIDByCountryCode($userInfo[$locationField]);
}
break;
case 'State':
$value = SJB_StatesManager::getStateSIDByStateName($userInfo[$locationField]);
if (!$value) {
$value = SJB_StatesManager::getStateSIDByStateCode($userInfo[$locationField]);
}
break;
default:
$value = $userInfo[$locationField];
//.........这里部分代码省略.........
示例4: execute
//.........这里部分代码省略.........
if (preg_match("^[a-z0-9\\._-]+@[a-z0-9\\._-]+\\.[a-z]{2,}\$^iu", $listing_info['ApplicationSettings'])) {
$listing_info['ApplicationSettings'] = array('value' => $listing_info['ApplicationSettings'], 'add_parameter' => 1);
} elseif (preg_match("^(https?:\\/\\/)^iu", $listing_info['ApplicationSettings'])) {
$listing_info['ApplicationSettings'] = array('value' => $listing_info['ApplicationSettings'], 'add_parameter' => 2);
} else {
$listing_info['ApplicationSettings'] = array('value' => '', 'add_parameter' => '');
}
$listing->details->properties[$property->id]->type->property_info['value'] = $listing_info['ApplicationSettings'];
} elseif ($property->getType() == 'complex' && is_array($property->value)) {
$childFields = SJB_ListingComplexFieldManager::getListingFieldsInfoByParentSID($property->sid);
$complexChildValues = $property->value;
foreach ($childFields as $childField) {
if ($childField['type'] == 'complexfile' && !empty($complexChildValues[$childField['id']])) {
$field_info = SJB_ListingComplexFieldManager::getFieldInfoBySID($childField['sid']);
if (isset($listing_info[$property->id][$field_info['id']]) && file_exists($listing_info[$property->id][$field_info['id']])) {
SJB_UploadFileManager::fileImport($listing_info, $field_info, $property->id);
}
}
}
}
// The import of files at import of listings
if (in_array($property->getType(), array('file', 'logo', 'picture', 'video')) && $property->value !== '') {
$field_info = SJB_ListingFieldDBManager::getListingFieldInfoByID($property->id);
if (isset($listing_info[$field_info['id']]) && file_exists($listing_info[$field_info['id']])) {
SJB_UploadFileManager::fileImport($listing_info, $field_info);
}
}
}
$listing->deleteProperty('featured');
$listing->deleteProperty('priority');
$listing->deleteProperty('status');
$listing->deleteProperty('reject_reason');
$listing->addProperty(array('id' => 'contract_id', 'type' => 'id', 'value' => $contract->getID(), 'is_system' => true));
$extraInfo = $contract->extra_info;
$listing->setProductInfo($extraInfo);
$listing->setPropertyValue('access_type', 'everyone');
$listing->setUserSID($current_user->sid);
if ($current_user->isSubuser()) {
$subuserInfo = $current_user->getSubuserInfo();
$listing->addSubuserProperty($subuserInfo['sid']);
}
SJB_ListingManager::saveListing($listing);
SJB_Statistics::addStatistics('addListing', $listing->getListingTypeSID(), $listing->getSID(), false, $extraInfo['featured'], $extraInfo['priority']);
$contract->incrementPostingsNumber();
SJB_ProductsManager::incrementPostingsNumber($contract->product_sid);
if (!empty($extraInfo['featured'])) {
SJB_ListingManager::makeFeaturedBySID($listing->getSID());
}
if (!empty($extraInfo['priority'])) {
SJB_ListingManager::makePriorityBySID($listing->getSID());
}
$this->FillGallery($listing, $listing_info);
$listingSIDs[] = $listing->getSID();
}
SJB_ListingManager::activateListingBySID($listingSIDs);
$tp->assign('listingsNum', count($listingSIDs));
$tp->display('job_import_complete.tpl');
} else {
$tp->assign('charSets', SJB_HelperFunctions::getCharSets());
$error = 'LISTINGS_NUMBER_LIMIT_EXCEEDED';
$tp->assign('listing_type_id', $listing_type_id);
$tp->assign('error', $error);
$tp->display('job_import.tpl');
}
} else {
$tp->assign('charSets', SJB_HelperFunctions::getCharSets());
$tp->assign('warning', $warning);
$tp->assign('contract_id', $contractID);
$tp->assign('listing_type_id', $listing_type_id);
$tp->display('job_import.tpl');
}
}
} else {
$error = $acl->getPermissionMessage('bulk_job_import');
if (empty($error)) {
$error = 'This action is not allowed within your current product';
}
$tp->assign('error', $error);
$tp->assign('charSets', SJB_HelperFunctions::getCharSets());
$tp->assign('listing_type_id', $listing_type_id);
$tp->display('job_import.tpl');
}
} else {
if ($error == 'NO_CONTRACT') {
if ($_GET) {
$getParam = '?';
foreach ($_GET as $key => $val) {
$getParam .= $key . '=' . $val . '&';
}
$getParam = substr($getParam, 0, -1);
}
$page = base64_encode(SJB_System::getURI() . $getParam);
SJB_HelperFunctions::redirect(SJB_System::getSystemSettings('SITE_URL') . '/my-products/?page=' . $page);
}
$tp->assign('charSets', SJB_HelperFunctions::getCharSets());
$tp->assign('listing_type_id', $listing_type_id);
$tp->assign('error', $error);
$tp->display('job_import.tpl');
}
}
示例5: execute
public function execute()
{
$template_processor = SJB_System::getTemplateProcessor();
$encodingFromCharset = SJB_Request::getVar('encodingFromCharset', 'UTF-8');
$file_info = SJB_Array::get($_FILES, 'imported_tree_file');
$field_sid = isset($_REQUEST['field_sid']) ? $_REQUEST['field_sid'] : null;
$field_info = SJB_ListingFieldManager::getFieldInfoBySID($field_sid);
$template_processor->assign("field", $field_info);
$template_processor->assign("field_sid", $field_sid);
$listing_type_info = SJB_ListingTypeManager::getListingTypeInfoBySID($field_info['listing_type_sid']);
$template_processor->assign("type_info", $listing_type_info);
$template_processor->assign('charSets', SJB_HelperFunctions::getCharSets());
if (!strcasecmp("tree", $field_info['type'])) {
if (empty($_FILES['imported_tree_file']['name'])) {
$errors['File'] = 'EMPTY_VALUE';
}
if (isset($_FILES['imported_tree_file']['error']) && $_FILES['imported_tree_file']['error']) {
$errors[] = SJB_UploadFileManager::getErrorId($_FILES['imported_tree_file']['error']);
}
$start_line = SJB_Request::getVar('start_line', null);
if (empty($start_line)) {
$errors['Start Line'] = 'EMPTY_VALUE';
} elseif (!is_numeric($start_line) || !is_int($start_line + 0)) {
$errors['Start Line'] = 'NOT_INT_VALUE';
}
$form_submitted = $_SERVER['REQUEST_METHOD'] == 'POST';
if ($form_submitted) {
if (!SJB_ImportFile::isValidFileExtensionByFormat($_REQUEST['file_format'], $_FILES['imported_tree_file'])) {
$errors['File'] = 'DO_NOT_MATCH_SELECTED_FILE_FORMAT';
}
}
$is_data_valid = empty($errors);
if ($form_submitted && $is_data_valid) {
if (!strcasecmp($_REQUEST['file_format'], 'excel')) {
$import_file = new SJB_ImportFileXLS($file_info);
} else {
$import_file = new SJB_ImportFileCSV($file_info, ',');
}
$import_file->parse($encodingFromCharset);
$imported_data = $import_file->getData();
$count = 0;
foreach ($imported_data as $key => $importedColumn) {
if (!$importedColumn || $start_line > $key) {
continue;
}
if (SJB_ListingFieldTreeManager::importTreeItem($field_sid, $importedColumn)) {
$count++;
}
}
$template_processor->assign("count", $count);
$template_processor->display("import_tree_data_statistics.tpl");
} else {
if (!$form_submitted) {
$errors = null;
}
$template_processor->assign("errors", isset($errors) ? $errors : null);
$template_processor->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
$template_processor->display("import_tree_data.tpl");
}
} else {
echo 'invalid Tree SID is specified';
}
}