本文整理汇总了PHP中Cx\Core\Html\Sigma::setGlobalVariable方法的典型用法代码示例。如果您正苦于以下问题:PHP Sigma::setGlobalVariable方法的具体用法?PHP Sigma::setGlobalVariable怎么用?PHP Sigma::setGlobalVariable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cx\Core\Html\Sigma
的用法示例。
在下文中一共展示了Sigma::setGlobalVariable方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: count
/**
* Show the customer and article group discounts for editing.
*
* Handles storing of the discounts as well.
* @return boolean True on success, false otherwise
* @author Reto Kohli <reto.kohli@comvation.com>
*/
function view_customer_discounts()
{
if (!empty($_POST['store'])) {
$this->store_discount_customer();
}
self::$objTemplate->loadTemplateFile("module_shop_discount_customer.html");
// Discounts overview
$arrCustomerGroups = Discount::getCustomerGroupArray();
$arrArticleGroups = Discount::getArticleGroupArray();
$arrRate = null;
$arrRate = Discount::getDiscountRateCustomerArray();
$i = 0;
// Set up the customer groups header
self::$objTemplate->setVariable(array('SHOP_CUSTOMER_GROUP_COUNT' => count($arrCustomerGroups), 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1)));
foreach ($arrCustomerGroups as $id => $arrCustomerGroup) {
self::$objTemplate->setVariable(array('SHOP_CUSTOMER_GROUP_ID' => $id, 'SHOP_CUSTOMER_GROUP_NAME' => $arrCustomerGroup['name']));
self::$objTemplate->parse('customer_group_header_column');
self::$objTemplate->touchBlock('article_group_header_column');
self::$objTemplate->parse('article_group_header_column');
}
foreach ($arrArticleGroups as $groupArticleId => $arrArticleGroup) {
//DBG::log("Article group ID $groupArticleId");
foreach ($arrCustomerGroups as $groupCustomerId => $arrCustomerGroup) {
$rate = isset($arrRate[$groupCustomerId][$groupArticleId]) ? $arrRate[$groupCustomerId][$groupArticleId] : 0;
self::$objTemplate->setVariable(array('SHOP_CUSTOMER_GROUP_ID' => $groupCustomerId, 'SHOP_DISCOUNT_RATE' => sprintf('%2.2f', $rate)));
self::$objTemplate->parse('discount_column');
}
self::$objTemplate->setVariable(array('SHOP_ARTICLE_GROUP_ID' => $groupArticleId, 'SHOP_ARTICLE_GROUP_NAME' => $arrArticleGroup['name'], 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1)));
self::$objTemplate->parse('article_group_row');
}
self::$objTemplate->setGlobalVariable('SHOP_DISCOUNT_ROW_STYLE', 'row' . (++$i % 2 + 1));
// self::$objTemplate->touchBlock('article_group_header_row');
// self::$objTemplate->parse('article_group_header_row');
return true;
}
示例2: renderOptionField
/**
* Render the option field in the backend.
*
* @param Sigma $template
*/
public function renderOptionField($template)
{
global $_ARRAYLANG;
$subTemplate = new Sigma();
$subTemplate->loadTemplateFile($this->cx->getCodeBaseCoreModulePath() . '/TemplateEditor/View/Template/Backend/ImagesSeriesOption.html');
$subTemplate->setGlobalVariable($_ARRAYLANG);
foreach ($this->urls as $id => $url) {
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_VALUE', $url);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_ID', $id);
$subTemplate->parse('images');
}
$mediaBrowser = new MediaBrowser();
$mediaBrowserId = $this->name . '_mediabrowser';
$mediaBrowser->setOptions(array('id' => $mediaBrowserId));
$mediaBrowser->setOptions(array('views' => 'uploader,filebrowser', 'startview' => 'filebrowser'));
$mediaBrowser->setCallback('callback_' . $this->name);
$subTemplate->setVariable('MEDIABROWSER_BUTTON', $mediaBrowser->getXHtml($_ARRAYLANG['TXT_CORE_MODULE_TEMPLATEEDITOR_ADD_PICTURE']));
$subTemplate->setVariable('MEDIABROWSER_ID', $mediaBrowserId);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_NAME', $this->name);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_HUMAN_NAME', $this->humanName);
//Get last key
end($this->urls);
$key = key($this->urls);
$key = $key != null ? $key : '0';
$subTemplate->setVariable('TEMPLATEEDITOR_LASTID', $key);
$template->setVariable('TEMPLATEEDITOR_OPTION', $subTemplate->get());
$template->setVariable('TEMPLATEEDITOR_OPTION_TYPE', 'img series');
$template->parse('option');
}
示例3: setMotives
function setMotives()
{
global $objDatabase, $_ARRAYLANG;
\JS::activate('shadowbox');
$this->_objTpl->loadTemplateFile('module_ecard_overview.html', true, true);
$this->_pageTitle = $_ARRAYLANG['TXT_MOTIVE_SELECTION'];
$mediaBrowser = new \Cx\Core_Modules\MediaBrowser\Model\Entity\MediaBrowser();
$mediaBrowser->setCallback('mbCallback');
$mediaBrowser->setOptions(array('type' => 'button', 'data-cx-mb-views' => 'filebrowser', 'id' => 'mediabrowser_button', 'style' => 'display: none;'));
/* Update progress */
if (!empty($_POST['saveMotives'])) {
$i = 0;
$motiveInputArray = $_POST['motiveInputArray'];
while ($i < 9) {
$filepath = $motiveInputArray[$i];
$filename = basename($filepath);
$query = "\n UPDATE " . DBPREFIX . "module_ecard_settings\n SET setting_value='" . contrexx_addslashes($filename) . "'\n WHERE setting_name='motive_{$i}'";
$objResult = $objDatabase->Execute($query);
/* Create optimized picture for e-card dispatch */
if ($filepath != '' && file_exists(\Env::get('cx')->getWebsitePath() . $filepath)) {
$this->resizeMotive(2, \Env::get('cx')->getWebsitePath() . $filepath, ASCMS_ECARD_OPTIMIZED_PATH . '/');
$this->resizeMotive(1, \Env::get('cx')->getWebsitePath() . $filepath, ASCMS_ECARD_THUMBNAIL_PATH . '/');
}
++$i;
}
$this->_objTpl->setVariable(array('CONTENT_OK_MESSAGE' => $this->strOkMessage = $_ARRAYLANG['TXT_DATA_SAVED']));
}
$this->_objTpl->setGlobalVariable(array('TXT_SAVE' => $_ARRAYLANG['TXT_SAVE'], 'TXT_DELETE_MOTIVE' => $_ARRAYLANG['TXT_DELETE_MOTIVE'], 'TXT_PICTURE' => $_ARRAYLANG['TXT_PICTURE'], 'TXT_PATH' => $_ARRAYLANG['TXT_PATH'], 'TXT_BROWSE' => $_ARRAYLANG['TXT_BROWSE'], 'TXT_CHOOSE' => $_ARRAYLANG['TXT_CHOOSE'], 'TXT_DELETE' => $_ARRAYLANG['TXT_DELETE'], 'TXT_ECARD_IMAGES' => $_ARRAYLANG['TXT_ECARD_IMAGES'], 'MEDIABROWSER_BUTTON' => $mediaBrowser->getXHtml($_ARRAYLANG['TXT_CORE_CM_BROWSE'])));
/* Display progress */
$query = "\n SELECT `setting_value`\n FROM " . DBPREFIX . "module_ecard_settings\n WHERE setting_name LIKE 'motive_%'\n ORDER BY setting_name ASC";
$objResult = $objDatabase->Execute($query);
$i = 0;
/* Create thumbnails */
while (!$objResult->EOF) {
$motiveFilename = $objResult->fields['setting_value'];
$thumbnail = ASCMS_ECARD_THUMBNAIL_WEB_PATH . '/' . "no_picture.gif";
$sourcePath = '';
if ($motiveFilename != '') {
$sourcePath = ASCMS_ECARD_OPTIMIZED_WEB_PATH . '/' . $motiveFilename;
$thumbnail = ASCMS_ECARD_THUMBNAIL_WEB_PATH . '/' . $motiveFilename;
}
/* Initialize DATA placeholder */
$this->_objTpl->setVariable(array('MOTIVE_PATH' => $sourcePath, 'MOTIVE_THUMB_PATH' => $thumbnail, 'MOTIVE_ID' => $i++));
$this->_objTpl->parse('motiveBlock');
$objResult->MoveNext();
}
$this->_objTpl->replaceBlock('motiveBlock', '', true);
}
示例4: foreach
function _orders()
{
global $objDatabase, $_ARRAYLANG;
$this->objTemplate->loadTemplateFile('module_gov_orders_overview.html');
$this->_pageTitle = $_ARRAYLANG['TXT_ORDERS'];
if (isset($_REQUEST['err'])) {
$this->_strErrMessage = $_REQUEST['err'];
}
// delete orders
if (isset($_REQUEST['delete'])) {
if (isset($_REQUEST['multi'])) {
if (is_array($_POST['selectedOrderId'])) {
foreach ($_POST['selectedOrderId'] as $GSOrderID) {
$objDatabase->Execute("\n DELETE\n FROM " . DBPREFIX . "module_egov_orders\n WHERE order_id=" . intval($GSOrderID));
$objDatabase->Execute("\n DELETE\n FROM " . DBPREFIX . "module_egov_product_calendar\n WHERE calendar_order=" . intval($GSOrderID));
}
}
} else {
$objDatabase->Execute("\n DELETE\n FROM " . DBPREFIX . "module_egov_orders\n WHERE order_id=" . intval($_REQUEST['id']));
$objDatabase->Execute("\n DELETE\n FROM " . DBPREFIX . "module_egov_product_calendar\n WHERE calendar_order=" . intval($_REQUEST['id']));
}
}
$this->objTemplate->setGlobalVariable($_ARRAYLANG);
$query = "\n SELECT *\n FROM " . DBPREFIX . "module_egov_orders" . (!empty($_REQUEST['product']) ? ' WHERE order_product=' . $_REQUEST["product"] : '') . "\n ORDER BY order_id DESC";
$objResult = $objDatabase->Execute($query);
$i = 0;
while (!$objResult->EOF) {
$stateImg = 'status_yellow.gif';
switch ($objResult->fields['order_state']) {
case 1:
$stateImg = 'status_green.gif';
break;
case 2:
$stateImg = 'status_red.gif';
break;
case 0:
case 3:
default:
break;
}
$this->objTemplate->setVariable(array('ORDERS_ROWCLASS' => ++$i % 2 ? 'row2' : 'row1', 'ORDER_ID' => $objResult->fields['order_id'], 'ORDER_DATE' => $objResult->fields['order_date'], 'ORDER_ID' => $objResult->fields['order_id'], 'ORDER_STATE' => EgovLibrary::MaskState($objResult->fields['order_state']), 'ORDER_PRODUCT' => EgovLibrary::GetProduktValue('product_name', $objResult->fields['order_product']), 'ORDER_NAME' => $this->ParseFormValues('Vorname', $objResult->fields['order_values']) . ' ' . $this->ParseFormValues('Nachname', $objResult->fields['order_values']), 'ORDER_STATE_IMG' => $stateImg, 'ORDER_IP' => $objResult->fields['order_ip']));
$this->objTemplate->parse('orders_row');
$objResult->MoveNext();
}
if ($i == 0) {
$this->objTemplate->hideBlock('orders_row');
}
}
示例5: foreach
/**
* Show NewsML categories page
* @access private
* @global object $objDatabase
*/
function _newsMLOverview()
{
global $_ARRAYLANG;
$this->_objTpl->loadTemplateFile('module_feed_newsml_overview.html');
$this->pageTitle = 'NewsML';
$rowNr = 0;
$this->_objTpl->setVariable(array('TXT_FEED_MARKED' => $_ARRAYLANG['TXT_FEED_MARKED'], 'TXT_FEED_MARK_ALL' => $_ARRAYLANG['TXT_FEED_MARK_ALL'], 'TXT_FEED_REMOVE_CHOICE' => $_ARRAYLANG['TXT_FEED_REMOVE_CHOICE'], 'TXT_FEED_DELETE_MARKED' => $_ARRAYLANG['TXT_FEED_DELETE_MARKED'], 'TXT_FEED_NEWSML_CATEGORIES' => $_ARRAYLANG['TXT_FEED_NEWSML_CATEGORIES'], 'TXT_FEED_CATEGORY' => $_ARRAYLANG['TXT_FEED_CATEGORY'], 'TXT_FEED_TEMPLATE_PLACEHOLDER' => $_ARRAYLANG['TXT_FEED_TEMPLATE_PLACEHOLDER'], 'TXT_FEED_NEWSML_PROVIDER' => $_ARRAYLANG['TXT_FEED_NEWSML_PROVIDER'], 'TXT_FEED_FUNCTIONS' => $_ARRAYLANG['TXT_FEED_FUNCTIONS'], 'TXT_FEED_SHOW_DETAILS' => $_ARRAYLANG['TXT_FEED_SHOW_DETAILS'], 'TXT_FEED_EDIT_CATEGORY' => $_ARRAYLANG['TXT_FEED_EDIT_CATEGORY'], 'TXT_FEED_INSERT_CATEGORY' => $_ARRAYLANG['TXT_FEED_INSERT_CATEGORY'], 'TXT_FEED_INFO' => $_ARRAYLANG['TXT_FEED_INFO'], 'TXT_FEED_WHAT_IS_NEWSML' => $_ARRAYLANG['TXT_FEED_WHAT_IS_NEWSML'], 'TXT_FEED_NEWSML_DESCRIPTION' => $_ARRAYLANG['TXT_FEED_NEWSML_DESCRIPTION'], 'TXT_FEED_CONFIRM_DELETE_CATEGORY' => $_ARRAYLANG['TXT_FEED_CONFIRM_DELETE_CATEGORY'], 'TXT_FEED_CONFIRM_DELETE_CATEGORIES' => $_ARRAYLANG['TXT_FEED_CONFIRM_DELETE_CATEGORIES'], 'TXT_FEED_ACTION_COULD_NOT_BE_UNDONE' => $_ARRAYLANG['TXT_FEED_ACTION_COULD_NOT_BE_UNDONE']));
$this->_objTpl->setGlobalVariable(array('TXT_FEED_SHOW_DETAILS' => $_ARRAYLANG['TXT_FEED_SHOW_DETAILS'], 'TXT_FEED_EDIT_CATEGORY' => $_ARRAYLANG['TXT_FEED_EDIT_CATEGORY'], 'TXT_FEED_DELETE_CATEGORY' => $_ARRAYLANG['TXT_FEED_DELETE_CATEGORY']));
if (empty($this->_objNewsML->arrCategories)) {
$this->_objTpl->hideBlock('feed_newsml_list');
return;
}
foreach ($this->_objNewsML->arrCategories as $newsMLProviderId => $arrNewsMLProvider) {
$this->_objTpl->setVariable(array('FEED_NEWSML_CATEGORY_ID' => $newsMLProviderId, 'FEED_NEWSML_ID' => $newsMLProviderId, 'FEED_NEWSML_LIST_ROW_CLASS' => ++$rowNr % 2 ? 'row1' : 'row2', 'FEED_NEWSML_NAME' => $arrNewsMLProvider['name'], 'FEED_NEWSML_PLACEHOLDER' => 'NEWSML_' . strtoupper(preg_replace('/\\s/', '_', $arrNewsMLProvider['name'])), 'FEED_NEWSML_PROVIDER' => $arrNewsMLProvider['providerName']));
$this->_objTpl->parse('feed_newsml_list');
}
}
示例6: renderOptionField
/**
* Render the option field in the backend.
*
* @param Sigma $template
*/
public function renderOptionField($template)
{
global $_ARRAYLANG;
$subTemplate = new Sigma();
$subTemplate->loadTemplateFile($this->cx->getCodeBaseCoreModulePath() . '/TemplateEditor/View/Template/Backend/ImageOption.html');
$subTemplate->setGlobalVariable($_ARRAYLANG);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_VALUE', $this->url);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_NAME', $this->name);
$subTemplate->setVariable('TEMPLATEEDITOR_OPTION_HUMAN_NAME', $this->humanName);
$mediaBrowser = new MediaBrowser();
$mediaBrowser->setOptions(array('views' => 'uploader,filebrowser', 'startView' => 'filebrowser'));
$mediaBrowser->setCallback('callback_' . $this->name);
$subTemplate->setVariable('MEDIABROWSER_BUTTON', $mediaBrowser->getXHtml($_ARRAYLANG['TXT_CORE_MODULE_TEMPLATEEDITOR_CHOOSE_PICTURE']));
$template->setVariable('TEMPLATEEDITOR_OPTION', $subTemplate->get());
$template->setVariable('TEMPLATEEDITOR_OPTION_TYPE', 'img');
$template->parse('option');
}
示例7: manageLocations
/**
* Add or edit the jobs Locations
* @global object $objDatabase
* @global array $_ARRAYLANG
* @param string $pageContent
*/
function manageLocations()
{
global $objDatabase, $_ARRAYLANG;
$this->pageTitle = $_ARRAYLANG['TXT_LOCATION_MANAGER'];
$this->_objTpl->loadTemplateFile('module_jobs_location.html', true, true);
$this->_objTpl->setVariable(array('TXT_ADD_NEW_LOCATION' => $_ARRAYLANG['TXT_ADD_NEW_LOCATION'], 'TXT_NAME' => $_ARRAYLANG['TXT_NAME'], 'TXT_ADD' => $_ARRAYLANG['TXT_ADD'], 'TXT_SELECT_ALL' => $_ARRAYLANG['TXT_SELECT_ALL'], 'TXT_REMOVE_SELECTION' => $_ARRAYLANG['TXT_REMOVE_SELECTION'], 'TXT_LOCATION_LIST' => $_ARRAYLANG['TXT_LOCATION_LIST'], 'TXT_ID' => $_ARRAYLANG['TXT_ID'], 'TXT_ACTION' => $_ARRAYLANG['TXT_ACTION'], 'TXT_ACCEPT_CHANGES' => $_ARRAYLANG['TXT_ACCEPT_CHANGES'], 'TXT_CONFIRM_DELETE_DATA' => $_ARRAYLANG['TXT_CONFIRM_DELETE_DATA'], 'TXT_ACTION_IS_IRREVERSIBLE' => $_ARRAYLANG['TXT_ACTION_IS_IRREVERSIBLE'], 'TXT_ATTENTION_SYSTEM_FUNCTIONALITY_AT_RISK' => $_ARRAYLANG['TXT_ATTENTION_SYSTEM_FUNCTIONALITY_AT_RISK'], 'TXT_JOBS_SORTING' => $_ARRAYLANG['TXT_JOBS_SORTING'], 'TXT_JOBS_SORTTYPE' => $_ARRAYLANG['TXT_JOBS_SORTTYPE']));
$this->_objTpl->setGlobalVariable(array('TXT_DELETE' => $_ARRAYLANG['TXT_DELETE']));
// Add a new category
if (isset($_POST['addLoc']) and $_POST['addLoc'] == true) {
$locName = get_magic_quotes_gpc() ? strip_tags($_POST['newLocName']) : addslashes(strip_tags($_POST['newLocName']));
if ($objDatabase->Execute("INSERT INTO " . DBPREFIX . "module_jobs_location (name)\n VALUES ('{$locName}')")) {
$this->strOkMessage = $_ARRAYLANG['TXT_DATA_RECORD_ADDED_SUCCESSFUL'];
} else {
$this->strErrMessage = $_ARRAYLANG['TXT_DATABASE_QUERY_ERROR'];
}
}
// Modify a new category
if (isset($_POST['modLoc']) and $_POST['modLoc'] == true) {
foreach ($_POST['locName'] as $id => $name) {
$name = get_magic_quotes_gpc() ? strip_tags($name) : addslashes(strip_tags($name));
$id = intval($id);
// Unused
// $sorting = !empty($_REQUEST['sortStyle'][$id]) ? contrexx_addslashes($_REQUEST['sortStyle'][$id]) : 'alpha';
if ($objDatabase->Execute("UPDATE " . DBPREFIX . "module_jobs_location\n SET name='{$name}'\n WHERE id={$id}")) {
$this->strOkMessage = $_ARRAYLANG['TXT_DATA_RECORD_UPDATED_SUCCESSFUL'];
} else {
$this->strErrMessage = $_ARRAYLANG['TXT_DATABASE_QUERY_ERROR'];
}
}
}
$query = "SELECT `id`,\n `name`\n FROM `" . DBPREFIX . "module_jobs_location`\n ORDER BY `id` asc";
$objResult = $objDatabase->Execute($query);
$this->_objTpl->setCurrentBlock('row');
$i = 0;
while ($objResult !== false && !$objResult->EOF) {
$class = $i % 2 == 0 ? "row1" : "row2";
// Unused
// $sorting = $objResult->fields['sort_style'];
$this->_objTpl->setVariable(array('JOBS_ROWCLASS' => $class, 'JOBS_LOC_ID' => $objResult->fields['id'], 'JOBS_LOC_NAME' => stripslashes($objResult->fields['name'])));
$this->_objTpl->parseCurrentBlock('row');
$i++;
$objResult->MoveNext();
}
}
示例8: showShipmentTerms
/**
* Set up the template block with the shipment terms and conditions
*
* Please *DO NOT* remove this method, despite the site terms and
* conditions have been removed from the Shop!
* This has been requested by some shopkeepers and may be used at will.
* @global array $_ARRAYLANG Language array
* @author Reto Kohli <reto.kohli@comvation.com>
*/
static function showShipmentTerms()
{
if (self::$objTemplate->blockExists('shopShipper')) {
// TODO: Should be set by the calling view, if any
global $_ARRAYLANG;
self::$objTemplate->setGlobalVariable($_ARRAYLANG + array('SHOP_CURRENCY_SYMBOL' => Currency::getActiveCurrencySymbol(), 'SHOP_CURRENCY_CODE' => Currency::getActiveCurrencyCode()));
$arrShipment = Shipment::getShipmentConditions();
foreach ($arrShipment as $strShipperName => $arrContent) {
$strCountries = join(', ', $arrContent['countries']);
$arrConditions = $arrContent['conditions'];
self::$objTemplate->setCurrentBlock('shopShipment');
foreach ($arrConditions as $arrData) {
self::$objTemplate->setVariable(array('SHOP_MAX_WEIGHT' => $arrData['max_weight'], 'SHOP_COST_FREE' => $arrData['free_from'], 'SHOP_COST' => $arrData['fee']));
self::$objTemplate->parse('shopShipment');
}
self::$objTemplate->setVariable(array('SHOP_SHIPPER' => $strShipperName, 'SHOP_COUNTRIES' => $strCountries));
self::$objTemplate->parse('shopShipper');
}
}
}
示例9: edit
/**
* Edit coupons
* @param \Cx\Core\Html\Sigma $objTemplate The Template
*/
static function edit($objTemplate)
{
global $_ARRAYLANG;
//DBG::activate(DBG_ADODB|DBG_LOG_FIREPHP|DBG_PHP);
$result = true;
if (isset($_GET['delete'])) {
list($code, $customer_id) = explode('-', $_GET['delete']);
$result &= self::delete(contrexx_input2raw($code), intval($customer_id));
}
$edit = isset($_REQUEST['edit']) ? contrexx_input2raw($_REQUEST['edit']) : null;
//DBG::log("Edit: ".($edit ? $edit : 'NULL'));
$code = isset($_POST['code']) ? contrexx_input2raw($_POST['code']) : null;
$payment_id = empty($_POST['payment_id']) ? 0 : intval($_POST['payment_id']);
$start_time = empty($_POST['start_date']) ? 0 : strtotime(contrexx_input2raw($_POST['start_date']));
$end_time = empty($_POST['end_date_unlimited']) ? empty($_POST['end_date']) ? 0 : strtotime(contrexx_input2raw($_POST['end_date'])) : 0;
$coupon_type = empty($_POST['coupon_type']) ? null : contrexx_input2raw($_POST['coupon_type']);
$discount_rate = intval(empty($_POST['discount_rate']) ? 0 : floatval($_POST['discount_rate']));
$discount_amount = Currency::formatPrice(empty($_POST['discount_amount']) ? 0 : floatval($_POST['discount_amount']));
if ($coupon_type == 'rate') {
$discount_amount = 0;
}
if ($coupon_type == 'amount') {
$discount_rate = 0;
}
$minimum_amount = Currency::formatPrice(empty($_POST['minimum_amount']) ? 0 : floatval($_POST['minimum_amount']));
$uses = empty($_POST['unlimited']) ? empty($_POST['uses']) ? 1 : intval($_POST['uses']) : self::USES_UNLIMITED;
$customer_id = empty($_POST['customer_id']) ? 0 : intval($_POST['customer_id']);
$product_id = empty($_POST['product_id']) ? 0 : intval($_POST['product_id']);
$global = !empty($_POST['global_or_customer']);
//DBG::log("code $code, start_time $start_time, end_time $end_time, minimum amount $minimum_amount, discount_rate $discount_rate, discount_amount $discount_amount, uses $uses, customer_id $customer_id");
if (isset($code)) {
$result &= self::storeCode($code, $payment_id, $minimum_amount, $discount_rate, $discount_amount, $start_time, $end_time, $uses, $global, $customer_id, $product_id, $edit);
if ($result) {
$code = $edit = null;
} else {
if (empty($edit)) {
$edit = "{$code}-{$customer_id}";
}
}
}
// Reset the end time if it's in the past
if ($end_time < time()) {
$end_time = 0;
}
$uri = \Html::getRelativeUri();
\Html::stripUriParam($uri, 'view');
\Html::stripUriParam($uri, 'edit');
\Html::stripUriParam($uri, 'order_coupon');
$arrSortingFields = array('code' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_CODE'], 'start_time' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_START_TIME'], 'end_time' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_END_TIME'], 'minimum_amount' => sprintf($_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_MINIMUM_AMOUNT_FORMAT'], Currency::getDefaultCurrencyCode()), 'discount_rate' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_RATE'], 'discount_amount' => sprintf($_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_AMOUNT_FORMAT'], Currency::getDefaultCurrencyCode()), 'uses' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_USES'], 'global' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_SCOPE'], 'customer_id' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_CUSTOMER'], 'product_id' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PRODUCT'], 'payment_id' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PAYMENT']);
$objSorting = new \Sorting($uri, $arrSortingFields, true, 'order_coupon');
$objTemplate->setGlobalVariable($_ARRAYLANG + array('TXT_SHOP_DISCOUNT_COUPON_MINIMUM_AMOUNT_CURRENCY' => sprintf($_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_MINIMUM_AMOUNT_FORMAT'], Currency::getDefaultCurrencyCode()), 'TXT_SHOP_DISCOUNT_COUPON_AMOUNT_CURRENCY' => sprintf($_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_AMOUNT_FORMAT'], Currency::getDefaultCurrencyCode()), 'TXT_SHOP_DISCOUNT_COUPON_ADD_OR_EDIT' => $_ARRAYLANG[$edit ? 'TXT_SHOP_DISCOUNT_COUPON_EDIT' : 'TXT_SHOP_DISCOUNT_COUPON_ADD'], 'SHOP_DISCOUNT_COUPON_VIEW_ACTIVE' => $edit ? '' : 'active', 'SHOP_DISCOUNT_COUPON_EDIT_ACTIVE' => $edit ? 'active' : '', 'SHOP_DISCOUNT_COUPON_VIEW_DISPLAY' => $edit ? 'none' : 'block', 'SHOP_DISCOUNT_COUPON_EDIT_DISPLAY' => $edit ? 'block' : 'none', 'HEADER_SHOP_DISCOUNT_COUPON_CODE' => $objSorting->getHeaderForField('code'), 'HEADER_SHOP_DISCOUNT_COUPON_START_TIME' => $objSorting->getHeaderForField('start_time'), 'HEADER_SHOP_DISCOUNT_COUPON_END_TIME' => $objSorting->getHeaderForField('end_time'), 'HEADER_SHOP_DISCOUNT_COUPON_MINIMUM_AMOUNT_CURRENCY' => $objSorting->getHeaderForField('minimum_amount'), 'HEADER_SHOP_DISCOUNT_COUPON_RATE' => $objSorting->getHeaderForField('discount_rate'), 'HEADER_SHOP_DISCOUNT_COUPON_AMOUNT_CURRENCY' => $objSorting->getHeaderForField('discount_amount'), 'HEADER_SHOP_DISCOUNT_COUPON_USES' => $objSorting->getHeaderForField('uses'), 'HEADER_SHOP_DISCOUNT_COUPON_SCOPE' => $objSorting->getHeaderForField('global'), 'HEADER_SHOP_DISCOUNT_COUPON_CUSTOMER' => $objSorting->getHeaderForField('customer_id'), 'HEADER_SHOP_DISCOUNT_COUPON_PRODUCT' => $objSorting->getHeaderForField('product_id'), 'HEADER_SHOP_DISCOUNT_COUPON_PAYMENT' => $objSorting->getHeaderForField('payment_id')));
$count = 0;
$limit = \Cx\Core\Setting\Controller\Setting::getValue('numof_coupon_per_page_backend', 'Shop');
if (empty($limit)) {
self::errorHandler();
}
$arrCoupons = self::getArray(\Paging::getPosition(), $limit, $count, $objSorting->getOrder());
$arrProductName = Products::getNameArray(true, $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PRODUCT_FORMAT']);
$arrPaymentName = Payment::getNameArray();
$i = 0;
$row = 0;
$objCouponEdit = new Coupon();
$objCouponEdit->code($code);
$objCouponEdit->payment_id($payment_id);
$objCouponEdit->minimum_amount($minimum_amount);
$objCouponEdit->discount_rate($discount_rate);
$objCouponEdit->discount_amount($discount_amount);
$objCouponEdit->start_time($start_time);
$objCouponEdit->end_time($end_time);
$objCouponEdit->uses($uses);
$objCouponEdit->is_global($global);
$objCouponEdit->customer_id($customer_id);
$objCouponEdit->product_id($product_id);
global $_CONFIG;
foreach ($arrCoupons as $index => $objCoupon) {
$coupon_uri_id = 'coupon_uri_' . $index;
$objTemplate->setVariable(array('SHOP_ROWCLASS' => 'row' . (++$row % 2 + 1), 'SHOP_DISCOUNT_COUPON_CODE' => $objCoupon->code, 'SHOP_DISCOUNT_COUPON_URI_ICON' => '<div class="icon_url"' . '> </div>', 'SHOP_DISCOUNT_COUPON_URI_INPUT' => '<div class="layer_url" id="' . $coupon_uri_id . '">' . \Html::getInputText('dummy', 'http://' . $_CONFIG['domainUrl'] . \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteOffsetPath() . '/' . CONTREXX_DIRECTORY_INDEX . '?section=Shop' . MODULE_INDEX . '&coupon_code=' . $objCoupon->code, false, 'readonly="readonly"' . ' style="width: 200px;"' . ' onfocus="this.select();"' . ' onblur="cx.jQuery(\'#' . $coupon_uri_id . '\').hide();"') . '</div>', 'SHOP_DISCOUNT_COUPON_START_TIME' => $objCoupon->start_time ? date(ASCMS_DATE_FORMAT_DATE, $objCoupon->start_time) : $_ARRAYLANG['TXT_SHOP_DATE_NONE'], 'SHOP_DISCOUNT_COUPON_END_TIME' => $objCoupon->end_time ? date(ASCMS_DATE_FORMAT_DATE, $objCoupon->end_time) : $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_END_TIME_UNLIMITED'], 'SHOP_DISCOUNT_COUPON_MINIMUM_AMOUNT' => $objCoupon->minimum_amount > 0 ? $objCoupon->minimum_amount : $_ARRAYLANG['TXT_SHOP_AMOUNT_NONE'], 'SHOP_DISCOUNT_COUPON_RATE' => $objCoupon->discount_rate > 0 ? $objCoupon->discount_rate : $_ARRAYLANG['TXT_SHOP_RATE_NONE'], 'SHOP_DISCOUNT_COUPON_AMOUNT' => $objCoupon->discount_amount > 0 ? $objCoupon->discount_amount : $_ARRAYLANG['TXT_SHOP_AMOUNT_NONE'], 'SHOP_DISCOUNT_COUPON_USES' => sprintf($_ARRAYLANG['TXT_SHOP_COUPON_USES_FORMAT'], $objCoupon->used, $objCoupon->uses < 1000000000.0 ? $objCoupon->uses : $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_USES_UNLIMITED']), 'SHOP_DISCOUNT_COUPON_SCOPE' => $objCoupon->global ? $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_GLOBALLY'] : $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PER_CUSTOMER'], 'SHOP_DISCOUNT_COUPON_PER_CUSTOMER' => !$objCoupon->global ? \Html::getRadio('foo_' . ++$i, '', false, true, '', \Html::ATTRIBUTE_DISABLED) : ' ', 'SHOP_DISCOUNT_COUPON_CUSTOMER' => $objCoupon->customer_id ? Customers::getNameById($objCoupon->customer_id, '%4$s (%3$u)') : $_ARRAYLANG['TXT_SHOP_CUSTOMER_ANY'], 'SHOP_DISCOUNT_COUPON_PRODUCT' => $objCoupon->product_id ? isset($arrProductName[$objCoupon->product_id]) ? $arrProductName[$objCoupon->product_id] : $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PRODUCT_INVALID'] : $_ARRAYLANG['TXT_SHOP_PRODUCT_ANY'], 'SHOP_DISCOUNT_COUPON_PAYMENT' => $objCoupon->payment_id ? sprintf($_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_PAYMENT_FORMAT'], $objCoupon->payment_id, $arrPaymentName[$objCoupon->payment_id]) : $_ARRAYLANG['TXT_SHOP_PAYMENT_ANY'], 'SHOP_DISCOUNT_COUPON_FUNCTIONS' => \Html::getBackendFunctions(array('edit' => ADMIN_SCRIPT_PATH . '?cmd=Shop&act=settings&tpl=coupon&edit=' . urlencode($index), 'delete' => "javascript:delete_coupon('" . urlencode($index) . "');"))));
$objTemplate->parse('shopDiscountCouponView');
if ($index === $edit) {
$objCouponEdit = $objCoupon;
}
}
$objTemplate->replaceBlock('shopDiscountCouponView', '', true);
$paging = \Paging::get($uri, $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_CODES'], $count, $limit);
//DBG::log("Paging: $paging");
$objTemplate->setVariable('SHOP_PAGING', $paging);
$attribute_code = 'style="width: 230px; text-align: left;" maxlength="20"';
$attribute_time = 'style="width: 230px; text-align: left;" maxlength="10"';
$attribute_discount_rate = 'style="width: 230px; text-align: right;" maxlength="3"';
$attribute_discount_amount = 'style="width: 230px; text-align: right;" maxlength="9"';
$attribute_minimum_amount = 'style="width: 230px; text-align: right;" maxlength="9"';
$attribute_uses = 'style="width: 230px; text-align: right;" maxlength="6"';
// Superseded by the widget, see below
// $attribute_customer = 'style="width: 230px;"';
$attribute_product = 'style="width: 230px;"';
$attribute_payment = 'style="width: 230px;"';
//.........这里部分代码省略.........
示例10: view
/**
* The Cart view
*
* Mind that the Cart needs to be {@see update()}d before calling this
* method.
* @global array $_ARRAYLANG Language array
* @param \Cx\Core\Html\Sigma $objTemplate The optional Template
*/
static function view($objTemplate = null)
{
global $_ARRAYLANG;
if (!$objTemplate) {
// TODO: Handle missing or empty Template, load one
die("Cart::view(): ERROR: No template");
// return false;
}
$objTemplate->setGlobalVariable($_ARRAYLANG);
$i = 0;
if (count(self::$products)) {
foreach (self::$products as $arrProduct) {
$groupCountId = $arrProduct['group_id'];
$groupArticleId = $arrProduct['article_id'];
$groupCustomerId = 0;
if (Shop::customer()) {
$groupCustomerId = Shop::customer()->group_id();
}
Shop::showDiscountInfo($groupCustomerId, $groupArticleId, $groupCountId, $arrProduct['quantity']);
// product image
$arrProductImg = Products::get_image_array_from_base64($arrProduct['product_images']);
$shopImagesWebPath = \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesWebPath() . '/Shop/';
$thumbnailPath = $shopImagesWebPath . ShopLibrary::noPictureName;
foreach ($arrProductImg as $productImg) {
if (!empty($productImg['img']) && $productImg['img'] != ShopLibrary::noPictureName) {
$thumbnailPath = $shopImagesWebPath . \ImageManager::getThumbnailFilename($productImg['img']);
break;
}
}
/* UNUSED (and possibly obsolete, too)
if (isset($arrProduct['discount_string'])) {
//DBG::log("Shop::view_cart(): Product ID ".$arrProduct['id'].": ".$arrProduct['discount_string']);
$objTemplate->setVariable(
'SHOP_DISCOUNT_COUPON_STRING',
$arrProduct['coupon_string']
);
}*/
// The fields that don't apply have been set to ''
// (empty string) already -- see update().
$objTemplate->setVariable(array('SHOP_PRODUCT_ROW' => 'row' . (++$i % 2 + 1), 'SHOP_PRODUCT_ID' => $arrProduct['id'], 'SHOP_PRODUCT_CODE' => $arrProduct['product_id'], 'SHOP_PRODUCT_THUMBNAIL' => $thumbnailPath, 'SHOP_PRODUCT_CART_ID' => $arrProduct['cart_id'], 'SHOP_PRODUCT_TITLE' => str_replace('"', '"', contrexx_raw2xhtml($arrProduct['title'])), 'SHOP_PRODUCT_PRICE' => $arrProduct['price'], 'SHOP_PRODUCT_PRICE_UNIT' => Currency::getActiveCurrencySymbol(), 'SHOP_PRODUCT_QUANTITY' => $arrProduct['quantity'], 'SHOP_PRODUCT_ITEMPRICE' => $arrProduct['itemprice'], 'SHOP_PRODUCT_ITEMPRICE_UNIT' => Currency::getActiveCurrencySymbol(), 'SHOP_REMOVE_PRODUCT' => $_ARRAYLANG['TXT_SHOP_REMOVE_ITEM']));
//DBG::log("Attributes String: {$arrProduct['options_long']}");
if ($arrProduct['options_long']) {
$objTemplate->setVariable('SHOP_PRODUCT_OPTIONS', $arrProduct['options_long']);
}
if (\Cx\Core\Setting\Controller\Setting::getValue('weight_enable', 'Shop')) {
$objTemplate->setVariable(array('SHOP_PRODUCT_WEIGHT' => Weight::getWeightString($arrProduct['weight']), 'TXT_WEIGHT' => $_ARRAYLANG['TXT_TOTAL_WEIGHT']));
}
if (Vat::isEnabled()) {
$objTemplate->setVariable(array('SHOP_PRODUCT_TAX_RATE' => $arrProduct['vat_rate'] ? Vat::format($arrProduct['vat_rate']) : '', 'SHOP_PRODUCT_TAX_AMOUNT' => $arrProduct['vat_amount'] . ' ' . Currency::getActiveCurrencySymbol()));
}
if (intval($arrProduct['minimum_order_quantity']) > 0) {
$objTemplate->setVariable(array('SHOP_PRODUCT_MINIMUM_ORDER_QUANTITY' => $arrProduct['minimum_order_quantity']));
} else {
if ($objTemplate->blockExists('orderQuantity')) {
$objTemplate->hideBlock('orderQuantity');
}
if ($objTemplate->blockExists('minimumOrderQuantity')) {
$objTemplate->hideBlock('minimumOrderQuantity');
}
}
$objTemplate->parse('shopCartRow');
}
} else {
$objTemplate->hideBlock('shopCart');
if ($objTemplate->blockExists('shopCartEmpty')) {
$objTemplate->touchBlock('shopCartEmpty');
$objTemplate->parse('shopCartEmpty');
}
if ($_SESSION['shop']['previous_product_ids']) {
$ids = $_SESSION['shop']['previous_product_ids']->toArray();
Shop::view_product_overview($ids);
}
}
$objTemplate->setGlobalVariable(array('TXT_PRODUCT_ID' => $_ARRAYLANG['TXT_ID'], 'SHOP_PRODUCT_TOTALITEM' => self::get_item_count(), 'SHOP_PRODUCT_TOTALPRICE' => Currency::formatPrice(self::get_price()), 'SHOP_PRODUCT_TOTALPRICE_PLUS_VAT' => Currency::formatPrice(self::get_price() + (Vat::isEnabled() && !Vat::isIncluded() ? self::get_vat_amount() : 0)), 'SHOP_PRODUCT_TOTALPRICE_UNIT' => Currency::getActiveCurrencySymbol(), 'SHOP_TOTAL_WEIGHT' => Weight::getWeightString(self::get_weight()), 'SHOP_PRICE_UNIT' => Currency::getActiveCurrencySymbol()));
// Show the Coupon code field only if there is at least one defined
if (Coupon::count_available()) {
//DBG::log("Coupons available");
$objTemplate->setVariable(array('SHOP_DISCOUNT_COUPON_CODE' => isset($_SESSION['shop']['coupon_code']) ? $_SESSION['shop']['coupon_code'] : ''));
if ($objTemplate->blockExists('shopCoupon')) {
$objTemplate->parse('shopCoupon');
}
if (self::get_discount_amount()) {
$total_discount_amount = self::get_discount_amount();
//DBG::log("Shop::view_cart(): Total: Amount $total_discount_amount");
$objTemplate->setVariable(array('SHOP_DISCOUNT_COUPON_TOTAL' => $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUPON_AMOUNT_TOTAL'], 'SHOP_DISCOUNT_COUPON_TOTAL_AMOUNT' => Currency::formatPrice(-$total_discount_amount)));
}
}
if (Vat::isEnabled()) {
$objTemplate->setVariable(array('TXT_TAX_PREFIX' => Vat::isIncluded() ? $_ARRAYLANG['TXT_SHOP_VAT_PREFIX_INCL'] : $_ARRAYLANG['TXT_SHOP_VAT_PREFIX_EXCL'], 'SHOP_TOTAL_TAX_AMOUNT' => self::get_vat_amount() . ' ' . Currency::getActiveCurrencySymbol()));
if (Vat::isIncluded()) {
$objTemplate->setVariable(array('SHOP_GRAND_TOTAL_EXCL_TAX' => Currency::formatPrice(self::get_price() - self::get_vat_amount()) . ' ' . Currency::getActiveCurrencySymbol()));
}
//.........这里部分代码省略.........
示例11: setPostContentLoadPlaceholders
/**
* Set main template placeholders required after content parsing
* @todo Remove usage of globals
* @global array $_CONFIG
* @global type $themesPages
* @global type $objBanner
* @global type $_CORELANG
* @return type
*/
protected function setPostContentLoadPlaceholders()
{
global $_CONFIG, $themesPages, $objBanner, $_CORELANG;
if ($this->mode == self::MODE_BACKEND) {
$formattedVersion = htmlentities($_CONFIG['coreCmsName'], ENT_QUOTES, CONTREXX_CHARSET) . ' ' . htmlentities(str_replace(' Service Pack 0', '', preg_replace('#^(\\d+\\.\\d+)\\.(\\d+)$#', '$1 Service Pack $2', $_CONFIG['coreCmsVersion'])), ENT_QUOTES, CONTREXX_CHARSET) . ' ' . htmlentities($_CONFIG['coreCmsEdition'], ENT_QUOTES, CONTREXX_CHARSET) . ' ' . htmlentities($_CONFIG['coreCmsStatus'], ENT_QUOTES, CONTREXX_CHARSET);
$this->template->setGlobalVariable(array('TXT_FRONTEND' => $_CORELANG['TXT_FRONTEND'], 'TXT_UPGRADE' => $_CORELANG['TXT_UPGRADE'], 'TXT_FEEDBACK_AND_HELP' => $_CORELANG['TXT_FEEDBACK_AND_HELP'], 'CONTREXX_VERSION' => $formattedVersion));
$this->template->setVariable(array('TXT_LOGOUT' => $_CORELANG['TXT_LOGOUT'], 'TXT_PAGE_ID' => $_CORELANG['TXT_PAGE_ID'], 'CONTAINER_BACKEND_CLASS' => 'backend', 'CONTREXX_CHARSET' => CONTREXX_CHARSET));
//show Feedback and help block
\Permission::checkAccess(192, 'static', true) ? $this->template->touchBlock('feedback_help') : $this->template->hideBlock('feedback_help');
return;
}
$objCounter = null;
$componentRepo = $this->getDb()->getEntityManager()->getRepository('Cx\\Core\\Core\\Model\\Entity\\SystemComponent');
$statsComponentContoller = $componentRepo->findOneBy(array('name' => 'Stats'));
if ($statsComponentContoller) {
$objCounter = $statsComponentContoller->getCounterInstance();
}
// set global template variables
$boolShop = \Cx\Modules\Shop\Controller\Shop::isInitialized();
$objNavbar = new \Navigation($this->resolvedPage->getId(), $this->resolvedPage);
$objNavbar->setLanguagePlaceholders($this->resolvedPage, $this->request->getUrl(), $this->template);
$metarobots = $this->resolvedPage->getMetarobots();
$this->template->setVariable(array('CHARSET' => \Env::get('init')->getFrontendLangCharset(), 'TITLE' => contrexx_raw2xhtml($this->resolvedPage->getTitle()), 'METATITLE' => contrexx_raw2xhtml($this->resolvedPage->getMetatitle()), 'NAVTITLE' => contrexx_raw2xhtml($this->resolvedPage->getTitle()), 'GLOBAL_TITLE' => $_CONFIG['coreGlobalPageTitle'], 'DOMAIN_URL' => $_CONFIG['domainUrl'], 'PATH_OFFSET' => $this->codeBaseOffsetPath, 'BASE_URL' => ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . $this->codeBaseOffsetPath, 'METAKEYS' => $metarobots ? contrexx_raw2xhtml($this->resolvedPage->getMetakeys()) : '', 'METADESC' => $metarobots ? contrexx_raw2xhtml($this->resolvedPage->getMetadesc()) : '', 'METAROBOTS' => $metarobots ? 'all' : 'none', 'METAIMAGE' => $metarobots ? contrexx_raw2xhtml($this->resolvedPage->getMetaimage()) : '', 'CONTENT_TITLE' => $this->resolvedPage->getContentTitle(), 'CONTENT_TEXT' => $this->resolvedPage->getContent(), 'CSS_NAME' => contrexx_raw2xhtml($this->resolvedPage->getCssName()), 'STANDARD_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('smallscreen', 0)), 'MOBILE_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('smallscreen', 1)), 'PRINT_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('printview', 1)), 'PDF_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('pdfview', 1)), 'APP_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('appview', 1)), 'LOGOUT_URL' => contrexx_raw2xhtml(\Env::get('init')->getUriBy('section', 'logout')), 'PAGE_URL' => htmlspecialchars(\Env::get('init')->getPageUri()), 'PAGE_URL_ENCODED' => urlencode(\Env::get('init')->getPageUri()->toString()), 'CURRENT_URL' => contrexx_raw2xhtml(\Env::get('init')->getCurrentPageUri()), 'DATE' => showFormattedDate(), 'TIME' => date('H:i', time()), 'NAVTREE' => $objNavbar->getTrail(), 'SUBNAVBAR_FILE' => $objNavbar->getSubnavigation($themesPages['subnavbar'], $this->license, $boolShop), 'SUBNAVBAR2_FILE' => $objNavbar->getSubnavigation($themesPages['subnavbar2'], $this->license, $boolShop), 'SUBNAVBAR3_FILE' => $objNavbar->getSubnavigation($themesPages['subnavbar3'], $this->license, $boolShop), 'NAVBAR_FILE' => $objNavbar->getNavigation($themesPages['navbar'], $this->license, $boolShop), 'NAVBAR2_FILE' => $objNavbar->getNavigation($themesPages['navbar2'], $this->license, $boolShop), 'NAVBAR3_FILE' => $objNavbar->getNavigation($themesPages['navbar3'], $this->license, $boolShop), 'ONLINE_USERS' => $objCounter ? $objCounter->getOnlineUsers() : '', 'VISITOR_NUMBER' => $objCounter ? $objCounter->getVisitorNumber() : '', 'COUNTER' => $objCounter ? $objCounter->getCounterTag() : '', 'BANNER' => isset($objBanner) ? $objBanner->getBannerJS() : '', 'VERSION' => contrexx_raw2xhtml($_CONFIG['coreCmsName']), 'LANGUAGE_NAVBAR' => $objNavbar->getFrontendLangNavigation($this->resolvedPage, $this->request->getUrl()), 'LANGUAGE_NAVBAR_SHORT' => $objNavbar->getFrontendLangNavigation($this->resolvedPage, $this->request->getUrl(), true), 'ACTIVE_LANGUAGE_NAME' => \Env::get('init')->getFrontendLangName(), 'RANDOM' => md5(microtime()), 'TXT_SEARCH' => $_CORELANG['TXT_SEARCH'], 'MODULE_INDEX' => MODULE_INDEX, 'LOGIN_URL' => '<a href="' . contrexx_raw2xhtml(\Env::get('init')->getUriBy('section', 'Login')) . '" class="start-frontend-editing">' . $_CORELANG['TXT_FRONTEND_EDITING_LOGIN'] . '</a>', 'TXT_CORE_LAST_MODIFIED_PAGE' => $_CORELANG['TXT_CORE_LAST_MODIFIED_PAGE'], 'LAST_MODIFIED_PAGE' => date(ASCMS_DATE_FORMAT_DATE, $this->resolvedPage->getUpdatedAt()->getTimestamp()), 'CONTACT_EMAIL' => isset($_CONFIG['contactFormEmail']) ? contrexx_raw2xhtml($_CONFIG['contactFormEmail']) : '', 'CONTACT_NAME' => isset($_CONFIG['coreAdminName']) ? contrexx_raw2xhtml($_CONFIG['coreAdminName']) : '', 'CONTACT_COMPANY' => isset($_CONFIG['contactCompany']) ? contrexx_raw2xhtml($_CONFIG['contactCompany']) : '', 'CONTACT_ADDRESS' => isset($_CONFIG['contactAddress']) ? contrexx_raw2xhtml($_CONFIG['contactAddress']) : '', 'CONTACT_ZIP' => isset($_CONFIG['contactZip']) ? contrexx_raw2xhtml($_CONFIG['contactZip']) : '', 'CONTACT_PLACE' => isset($_CONFIG['contactPlace']) ? contrexx_raw2xhtml($_CONFIG['contactPlace']) : '', 'CONTACT_COUNTRY' => isset($_CONFIG['contactCountry']) ? contrexx_raw2xhtml($_CONFIG['contactCountry']) : '', 'CONTACT_PHONE' => isset($_CONFIG['contactPhone']) ? contrexx_raw2xhtml($_CONFIG['contactPhone']) : '', 'CONTACT_FAX' => isset($_CONFIG['contactFax']) ? contrexx_raw2xhtml($_CONFIG['contactFax']) : '', 'GOOGLE_MAPS_API_KEY' => isset($_CONFIG['googleMapsAPIKey']) ? contrexx_raw2xhtml($_CONFIG['googleMapsAPIKey']) : '', 'FACEBOOK_LIKE_IFRAME' => '<div id="fb-root"></div>
<script type="text/javascript">
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/' . \FWLanguage::getLanguageCodeById(LANG_ID) . '_' . strtoupper(\FWLanguage::getLanguageCodeById(LANG_ID)) . '/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, \'script\', \'facebook-jssdk\'));
</script>
<div class="fb-like" data-href="' . ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . contrexx_raw2xhtml(\Env::get('init')->getCurrentPageUri()) . '" data-send="false" data-layout="button_count" data-show-faces="false" data-font="segoe ui"></div>', 'GOOGLE_PLUSONE' => '<div class="g-plusone" data-href="' . ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . contrexx_raw2xhtml(\Env::get('init')->getCurrentPageUri()) . '"></div>
<script type="text/javascript">
window.___gcfg = {lang: \'' . \FWLanguage::getLanguageCodeById(LANG_ID) . '\'};
(function() {
var po = document.createElement(\'script\'); po.type = \'text/javascript\'; po.async = true;
po.src = \'https://apis.google.com/js/plusone.js\';
var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(po, s);
})();
</script>', 'TWITTER_SHARE' => '<a href="https://twitter.com/share" class="twitter-share-button"
data-url="' . ASCMS_PROTOCOL . '://' . $_CONFIG['domainUrl'] . contrexx_raw2xhtml(\Env::get('init')->getCurrentPageUri()) . '" data-lang="' . \FWLanguage::getLanguageCodeById(LANG_ID) . '">Twittern</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?\'http\':\'https\';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+\'://platform.twitter.com/widgets.js\';fjs.parentNode.insertBefore(js,fjs);}}(document, \'script\', \'twitter-wjs\');</script>', 'XING_SHARE' => '<div data-type="XING/Share" data-counter="right" data-lang="' . \FWLanguage::getLanguageCodeById(LANG_ID) . '"></div>
<script>
;(function (d, s) {
var x = d.createElement(s),
s = d.getElementsByTagName(s)[0];
x.src = "https://www.xing-share.com/js/external/share.js";
s.parentNode.insertBefore(x, s);
})(document, "script");
</script>', 'GOOGLE_ANALYTICS' => '<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push([\'_setAccount\', \'' . (isset($_CONFIG['googleAnalyticsTrackingId']) ? contrexx_raw2xhtml($_CONFIG['googleAnalyticsTrackingId']) : '') . '\']);
_gaq.push([\'_trackPageview\']);
(function() {
var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;
ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';
var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>'));
}
示例12: categories
/**
* categories list
* @global array
* @global integer
* @global array
* @global object
* @global object
*/
private function categories()
{
global $_ARRAYLANG, $_LANGID, $_CONFIG, $objInit;
$objCategory = Category::getCategory($this->parentCategoryId);
$objFWUser = \FWUser::getFWUserObject();
$this->_pageTitle = $_ARRAYLANG['TXT_DOWNLOADS_CATEGORIES'];
$this->objTemplate->addBlockFile('DOWNLOADS_CATEGORY_TEMPLATE', 'module_downloads_categories', 'module_downloads_categories.html');
// check access permission
if (!\Permission::checkAccess(143, 'static', true) && $objCategory->getReadAccessId() && !\Permission::checkAccess($objCategory->getReadAccessId(), 'dynamic', true) && $objCategory->getOwnerId() != $objFWUser->objUser->getId()) {
return \Permission::noAccess();
}
// get passed parameters
$pos = isset($_GET['pos']) ? intval($_GET['pos']) : 0;
$categoryLimitOffset = isset($_GET['category_pos']) ? intval($_GET['category_pos']) : $pos;
$categoryOrderDirection = !empty($_GET['category_sort']) ? $_GET['category_sort'] : 'asc';
$categoryOrderBy = !empty($_GET['category_by']) ? $_GET['category_by'] : '';
$downloadLimitOffset = isset($_GET['download_pos']) ? intval($_GET['download_pos']) : $pos;
$downloadOrderDirection = !empty($_GET['download_sort']) ? $_GET['download_sort'] : 'asc';
$downloadOrderBy = !empty($_GET['download_by']) ? $_GET['download_by'] : '';
$searchTerm = !empty($_GET['search_term']) ? $_GET['search_term'] : '';
$searchTerm = $searchTerm == $_ARRAYLANG['TXT_DOWNLOADS_SEARCH_DOWNLOAD'] ? '' : $searchTerm;
// parse categories multi action
if (isset($_POST['downloads_category_select_action'])) {
switch ($_POST['downloads_category_select_action']) {
case 'order':
$this->updateCategoryOrder(isset($_POST['downloads_category_order']) && is_array($_POST['downloads_category_order']) ? $_POST['downloads_category_order'] : array());
break;
case 'delete':
$this->deleteCategories(isset($_POST['downloads_category_id']) && is_array($_POST['downloads_category_id']) ? $_POST['downloads_category_id'] : array(), isset($_POST['downloads_category_delete_recursive']) && $_POST['downloads_category_delete_recursive']);
break;
}
}
// process downloads multi action
if (isset($_POST['downloads_download_select_action'])) {
if (!\Permission::checkAccess(143, 'static', true) && $objCategory->getManageFilesAccessId() && !\Permission::checkAccess($objCategory->getManageFilesAccessId(), 'dynamic', true) && $objCategory->getOwnerId() != $objFWUser->objUser->getId()) {
return \Permission::noAccess();
}
switch ($_POST['downloads_download_select_action']) {
case 'order':
if ($objCategory->updateDownloadOrder(isset($_POST['downloads_download_order']) && is_array($_POST['downloads_download_order']) ? $_POST['downloads_download_order'] : array())) {
$this->arrStatusMsg['ok'][] = $_ARRAYLANG['TXT_DOWNLOADS_DOWNLOAD_ORDER_SET_SUCCESS'];
} else {
$this->arrStatusMsg['error'] = array_merge($this->arrStatusMsg['error'], $objCategory->getErrorMsg());
}
break;
case 'unlink':
$this->unlinkDownloadsFromCategory($objCategory, isset($_POST['downloads_download_id']) && is_array($_POST['downloads_download_id']) ? $_POST['downloads_download_id'] : array());
break;
}
}
$this->objTemplate->setGlobalVariable(array('TXT_DOWNLOADS_EDIT' => $_ARRAYLANG['TXT_DOWNLOADS_EDIT'], 'TXT_DOWNLOADS_DELETE' => $_ARRAYLANG['TXT_DOWNLOADS_DELETE']));
// // check if user is allowed to add a subcategory
// if (// managers are allowed to add subcategories
// \Permission::checkAccess(143, 'static', true)
// // the selected category must be valid to proceed future permission checks.
// // this is required to protect the overview section from non-admins
// || $objCategory->getId() && (
// // the category isn't protected => everyone is allowed to add subcategories
// !$objCategory->getAddSubcategoriesAccessId()
// // the category is protected => only those who have the sufficent permissions are allowed to add subcategories
// || \Permission::checkAccess($objCategory->getAddSubcategoriesAccessId(), 'dynamic', true)
// // the owner is allowed to add subcategories
// || ($objFWUser = \FWUser::getFWUserObject()) && $objFWUser->objUser->login() && $objCategory->getOwnerId() == $objFWUser->objUser->getId()
// )
// ) {
// $this->objTemplate->setVariable(array(
// 'DOWNLOADS_CATEGORY_ID' => $objCategory->getId(),
// // TODO: rename
// //'TXT_ADD_CATEGORY' => $_ARRAYLANG['TXT_ADD_CATEGORY']
// ));
// $this->objTemplate->parse('downloads_category_add_buttom');
// } else {
// $this->objTemplate->hideBlock('downloads_category_add_buttom');
// }
// parse categories
$this->parseCategories($objCategory, $downloadOrderBy, $downloadOrderDirection, $downloadLimitOffset, $categoryOrderBy, $categoryOrderDirection, $categoryLimitOffset);
if (!$objCategory->getId()) {
$this->objTemplate->setVariable('TXT_DOWNLOADS_ALL_CATEGORIES', $_ARRAYLANG['TXT_DOWNLOADS_ALL_CATEGORIES']);
}
// parse frontend preview link
if ($objCategory->getId()) {
$categoryFrontendURI = ASCMS_PATH_OFFSET . '/' . \FWLanguage::getLanguageCodeById(FRONTEND_LANG_ID) . '/' . CONTREXX_DIRECTORY_INDEX . '?section=Downloads&category=' . $objCategory->getId();
$this->objTemplate->setVariable(array('TXT_DOWNLOADS_OPEN_CATEGORY_FRONTEND' => $_ARRAYLANG['TXT_DOWNLOADS_OPEN_CATEGORY_FRONTEND'], 'DOWNLOADS_CATEGORY_FRONTEND_URI' => $categoryFrontendURI));
$this->objTemplate->parse('downloads_category_frontend_link');
} else {
$this->objTemplate->hideBlock('downloads_category_frontend_link');
}
// parse downloads
$this->parseCategoryDownloads($objCategory, $downloadOrderBy, $downloadOrderDirection, $downloadLimitOffset, $categoryOrderBy, $categoryOrderDirection, $categoryLimitOffset, $searchTerm);
$this->objTemplate->setVariable(array('DOWNLOADS_CONFIRM_UNLINK_DOWNLOAD_TXT' => preg_replace('#\\n#', '\\n', addslashes($_ARRAYLANG['TXT_DOWNLOADS_CONFIRM_UNLINK_DOWNLOAD']))));
// parse add downloads buttons
if ($objCategory->getId() && (\Permission::checkAccess(143, 'static', true) || !$objCategory->getAddFilesAccessId() || \Permission::checkAccess($objCategory->getAddFilesAccessId(), 'dynamic', true))) {
//.........这里部分代码省略.........
示例13: intval
/**
* shows the list of objects, also handles search requests
* @return void
*/
function _showImmoList()
{
global $objDatabase, $_ARRAYLANG, $_CONFIG;
//TODO
//handle last step of quickSeach and DetailSearch here
$this->_objTpl->setGlobalVariable(array('TXT_IMMO_BACK' => $_ARRAYLANG['TXT_IMMO_BACK'], 'TXT_IMMO_CURRENCY_PREFIX' => $this->arrSettings['currency_lang_' . $this->frontLang], 'TXT_IMMO_CURRENCY_SUFFIX' => $this->_currencySuffix, 'TXT_IMMO_MORE_INFOS' => $_ARRAYLANG['TXT_IMMO_MORE_INFOS']));
$locations = contrexx_addslashes(strip_tags($_REQUEST['locations']));
$obj_type = contrexx_addslashes(strip_tags($_REQUEST['obj_type']));
$property_type = contrexx_addslashes(strip_tags($_REQUEST['property_type']));
$new_building = contrexx_addslashes(strip_tags($_REQUEST['new_building']));
$logo = contrexx_addslashes(strip_tags($_REQUEST['logo']));
if (!empty($_REQUEST['foreigner_auth'])) {
$foreigner_auth = intval($_REQUEST['foreigner_auth']) > 0 ? $_ARRAYLANG['TXT_IMMO_YES'] : $_ARRAYLANG['TXT_IMMO_NO'];
}
$fprice = contrexx_addslashes(strip_tags($_REQUEST['fprice']));
$tprice = contrexx_addslashes(strip_tags($_REQUEST['tprice']));
$frooms = contrexx_addslashes(strip_tags($_REQUEST['frooms']));
$trooms = contrexx_addslashes(strip_tags($_REQUEST['trooms']));
//show all
$orderBy = !empty($_REQUEST['order_by']) ? contrexx_addslashes($_REQUEST['order_by']) : 'location';
$query = 'SELECT immo.id AS immo_id, reference, visibility,
a.fieldvalue AS location,
CAST(b.fieldvalue AS UNSIGNED) AS price,
c.fieldvalue AS header,
d.fieldvalue AS headline,
e.fieldvalue AS rooms,
f.fieldvalue AS address,
img.uri AS imgsrc
FROM ' . DBPREFIX . 'module_immo AS immo
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS a ON ( immo.id = a.immo_id
AND a.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "ort"
AND lang_id = 1 )
AND a.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS b ON ( immo.id = b.immo_id
AND b.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "preis"
AND lang_id = 1 )
AND b.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS c ON ( immo.id = c.immo_id
AND c.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "kopfzeile"
AND lang_id = 1 )
AND c.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS d ON ( immo.id = d.immo_id
AND d.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "headline"
AND lang_id = 1 )
AND d.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS e ON ( immo.id = e.immo_id
AND e.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "anzahl zimmer"
AND lang_id = 1 )
AND e.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_content AS f ON ( immo.id = f.immo_id
AND f.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "adresse"
AND lang_id = 1 )
AND f.lang_id = ' . $this->frontLang . ' )
LEFT JOIN ' . DBPREFIX . 'module_immo_image AS img ON ( immo.id = img.immo_id
AND img.field_id = (
SELECT field_id
FROM ' . DBPREFIX . 'module_immo_fieldname
WHERE name = "übersichtsbild" )
)
WHERE ( visibility = "listing"';
if (!empty($_REQUEST['ref_nr'])) {
$query .= " OR visibility = 'reference' ) ";
} else {
$query .= ") ORDER BY {$orderBy} ASC";
}
//request from search form?
if (empty($_REQUEST['ref_nr'])) {
//fulltext search
$keys1 = array_filter(array_keys($_ARRAYLANG), array(&$this, "filterImmoType"));
foreach ($keys1 as $key) {
$keys[$key] = $_ARRAYLANG[$key];
}
array_walk($keys, array(&$this, 'arrStrToLower'));
$searchterm = contrexx_addslashes($_REQUEST['search']);
if (!empty($searchterm) && strlen($searchterm) <= 3) {
$this->_objTpl->setVariable("TXT_IMMO_SEARCHTERM_TOO_SHORT", $_ARRAYLANG['TXT_IMMO_SEARCHTERM_TOO_SHORT']);
return false;
}
//.........这里部分代码省略.........