| [ Indice ] |
Riferimento incrociato di Joomla! 1.5.14 - VM 1.1.4Servizio fornito da VMItalia |
[Vedi sommario] [Stampa] [Vedi testo]
1 <?php 2 if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 3 /** 4 * 5 * @version $Id: ps_config.php 1881 2009-09-18 12:03:18Z soeren_nb $ 6 * @package VirtueMart 7 * @subpackage classes 8 * @copyright Copyright (C) 2004-2009 soeren - All rights reserved. 9 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php 10 * VirtueMart is free software. This version may have been modified pursuant 11 * to the GNU General Public License, and as distributed it includes or 12 * is derivative of works licensed under the GNU General Public License or 13 * other free or open source software licenses. 14 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. 15 * 16 * http://virtuemart.net 17 */ 18 19 /** 20 * The configuration file handler class 21 * 22 */ 23 class vm_ps_config { 24 25 /** 26 * writes the virtuemart.cfg.php 27 * @author soeren 28 * @static 29 * @param array $d 30 * @return boolean 31 */ 32 function writeconfig(&$d) { 33 global $my, $db, $vmLogger, $VM_LANG, $mosConfig_live_site; 34 35 $group_id = intval( $d['conf_VM_PRICE_ACCESS_LEVEL'] ); 36 // TODO: (J! 1.5) Is there a better way to handle this difference between Joomla versions? 37 if( vmIsJoomla(1.5) ) { 38 $db->query( 'SELECT name FROM #__core_acl_aro_groups WHERE id=\''.$group_id.'\'' ); 39 } else { 40 $db->query( 'SELECT name FROM #__core_acl_aro_groups WHERE group_id=\''.$group_id.'\'' ); 41 } 42 $db->next_record(); 43 $d['conf_VM_PRICE_ACCESS_LEVEL'] = $db->f('name'); 44 45 if (!is_writable(ADMINPATH ."virtuemart.cfg.php")) { 46 $vmLogger->err( $VM_LANG->_('VM_CONFIGURATION_CHANGE_FAILURE',false).' ('. ADMINPATH ."virtuemart.cfg.php)" ); 47 return false; 48 } 49 50 if ($_POST['myname'] != "Jabba Binks") { 51 return false; 52 } 53 else { 54 if ( empty($d['VM_CHECKOUT_MODULES']['CHECK_OUT_GET_SHIPPING_ADDR']['enabled']) ) { 55 $d['conf_NO_SHIPTO'] = '1'; 56 } 57 else { 58 $d['conf_NO_SHIPTO'] = ''; 59 } 60 if( empty( $d['conf_SHIPPING'] ) || empty($d['VM_CHECKOUT_MODULES']['CHECK_OUT_GET_SHIPPING_METHOD']['enabled']) ) { 61 $d['VM_CHECKOUT_MODULES']['CHECK_OUT_GET_SHIPPING_METHOD']['enabled'] = ''; 62 $d['conf_NO_SHIPPING'] = '1'; 63 } 64 65 $d['conf_PSHOP_OFFLINE_MESSAGE'] = vmGet($d, 'conf_PSHOP_OFFLINE_MESSAGE', '', VMREQUEST_ALLOWHTML ); 66 67 /** Prevent this config setting from being changed by no-backenders **/ 68 if (!defined('_PHSHOP_ADMIN') && !stristr($my->usertype, "admin")) { 69 $d['conf_PSHOP_ALLOW_FRONTENDADMIN_FOR_NOBACKENDERS'] = PSHOP_ALLOW_FRONTENDADMIN_FOR_NOBACKENDERS; 70 } 71 $my_config_array = array( 72 "PSHOP_IS_OFFLINE" => "conf_PSHOP_IS_OFFLINE", 73 "PSHOP_OFFLINE_MESSAGE" => "conf_PSHOP_OFFLINE_MESSAGE", 74 "USE_AS_CATALOGUE" => "conf_USE_AS_CATALOGUE", 75 "VM_TABLEPREFIX" => "conf_VM_TABLEPREFIX", 76 "VM_PRICE_SHOW_PACKAGING_PRICELABEL" => "conf_VM_PRICE_SHOW_PACKAGING_PRICELABEL", 77 "VM_PRICE_SHOW_INCLUDINGTAX" => "conf_VM_PRICE_SHOW_INCLUDINGTAX", 78 "VM_PRICE_ACCESS_LEVEL" => "conf_VM_PRICE_ACCESS_LEVEL", 79 "VM_REGISTRATION_TYPE" => "conf_VM_REGISTRATION_TYPE", 80 "VM_BROWSE_ORDERBY_FIELD" => "conf_VM_BROWSE_ORDERBY_FIELD", 81 "VM_GENERALLY_PREVENT_HTTPS" => "conf_VM_GENERALLY_PREVENT_HTTPS", 82 "VM_ALLOW_EXTENDED_CLASSES" => "conf_VM_ALLOW_EXTENDED_CLASSES", 83 "VM_SHOW_REMEMBER_ME_BOX" => "conf_VM_SHOW_REMEMBER_ME_BOX", 84 "VM_REVIEWS_MINIMUM_COMMENT_LENGTH" => "conf_VM_REVIEWS_MINIMUM_COMMENT_LENGTH", 85 "VM_REVIEWS_MAXIMUM_COMMENT_LENGTH" => "conf_VM_REVIEWS_MAXIMUM_COMMENT_LENGTH", 86 "VM_SHOW_PRINTICON" => "conf_VM_SHOW_PRINTICON", 87 "VM_SHOW_EMAILFRIEND" => "conf_VM_SHOW_EMAILFRIEND", 88 "PSHOP_PDF_BUTTON_ENABLE" => "conf_PSHOP_PDF_BUTTON_ENABLE", 89 "VM_REVIEWS_AUTOPUBLISH" => "conf_VM_REVIEWS_AUTOPUBLISH", 90 "VM_PROXY_URL" => "conf_VM_PROXY_URL", 91 "VM_PROXY_PORT" => "conf_VM_PROXY_PORT", 92 "VM_PROXY_USER" => "conf_VM_PROXY_USER", 93 "VM_PROXY_PASS" => "conf_VM_PROXY_PASS", 94 "VM_ONCHECKOUT_SHOW_LEGALINFO" => "conf_VM_ONCHECKOUT_SHOW_LEGALINFO", 95 "VM_ONCHECKOUT_LEGALINFO_SHORTTEXT" => "conf_VM_ONCHECKOUT_LEGALINFO_SHORTTEXT", 96 "VM_ONCHECKOUT_LEGALINFO_LINK" => "conf_VM_ONCHECKOUT_LEGALINFO_LINK", 97 "ENABLE_DOWNLOADS" => "conf_ENABLE_DOWNLOADS", 98 "DOWNLOAD_MAX" => "conf_DOWNLOAD_MAX", 99 "DOWNLOAD_EXPIRE" => "conf_DOWNLOAD_EXPIRE", 100 "ENABLE_DOWNLOAD_STATUS" => "conf_ENABLE_DOWNLOAD_STATUS", 101 "DISABLE_DOWNLOAD_STATUS" => "conf_DISABLE_DOWNLOAD_STATUS", 102 "DOWNLOADROOT" => "conf_DOWNLOADROOT", 103 "VM_DOWNLOADABLE_PRODUCTS_KEEP_STOCKLEVEL" => "conf_VM_DOWNLOADABLE_PRODUCTS_KEEP_STOCKLEVEL", 104 "_SHOW_PRICES" => "conf__SHOW_PRICES", 105 "ORDER_MAIL_HTML" => "conf_ORDER_MAIL_HTML", 106 "HOMEPAGE" => "conf_HOMEPAGE", 107 "CATEGORY_TEMPLATE" => "conf_CATEGORY_TEMPLATE", 108 "FLYPAGE" => "conf_FLYPAGE", 109 "PRODUCTS_PER_ROW" => "conf_PRODUCTS_PER_ROW", 110 "ERRORPAGE" => "conf_ERRORPAGE", 111 "NO_IMAGE" => "conf_NO_IMAGE", 112 "DEBUG" => "conf_DEBUG", 113 "SHOWVERSION" => "conf_SHOWVERSION", 114 "TAX_VIRTUAL" => "conf_TAX_VIRTUAL", 115 "TAX_MODE" => "conf_TAX_MODE", 116 "MULTIPLE_TAXRATES_ENABLE" => "conf_MULTIPLE_TAXRATES_ENABLE", 117 "PAYMENT_DISCOUNT_BEFORE" => "conf_PAYMENT_DISCOUNT_BEFORE", 118 "PAYMENT_DISCOUNT_VAT_ID" => "conf_PAYMENT_DISCOUNT_VAT_ID", 119 "PSHOP_ALLOW_REVIEWS" => "conf_PSHOP_ALLOW_REVIEWS", 120 "PSHOP_AGREE_TO_TOS_ONORDER" => "conf_PSHOP_AGREE_TO_TOS_ONORDER", 121 "SHOW_CHECKOUT_BAR" => "conf_SHOW_CHECKOUT_BAR", 122 "CHECK_STOCK" => "conf_CHECK_STOCK", 123 "ENCODE_KEY" => "conf_ENCODE_KEY", 124 "NO_SHIPPING" => "conf_NO_SHIPPING", 125 "NO_SHIPTO" => "conf_NO_SHIPTO", 126 "AFFILIATE_ENABLE" => "conf_AFFILIATE_ENABLE", 127 "PSHOP_ALLOW_FRONTENDADMIN_FOR_NOBACKENDERS" => "conf_PSHOP_ALLOW_FRONTENDADMIN_FOR_NOBACKENDERS", 128 "PSHOP_IMG_RESIZE_ENABLE" => "conf_PSHOP_IMG_RESIZE_ENABLE", 129 "PSHOP_IMG_WIDTH" => "conf_PSHOP_IMG_WIDTH", 130 "PSHOP_IMG_HEIGHT" => "conf_PSHOP_IMG_HEIGHT", 131 "PSHOP_COUPONS_ENABLE" => "conf_PSHOP_COUPONS_ENABLE", 132 "PSHOP_SHOW_PRODUCTS_IN_CATEGORY" => "conf_PSHOP_SHOW_PRODUCTS_IN_CATEGORY", 133 "PSHOP_SHOW_TOP_PAGENAV" => "conf_PSHOP_SHOW_TOP_PAGENAV", 134 "PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS" => "conf_PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS", 135 "VM_CURRENCY_CONVERTER_MODULE" => "conf__VM_CURRENCY_CONVERTER_MODULE", 136 "VM_CONTENT_PLUGINS_ENABLE" => "conf_VM_CONTENT_PLUGINS_ENABLE", 137 "VM_ENABLE_COOKIE_CHECK" => "conf_VM_ENABLE_COOKIE_CHECK", 138 'VM_FEED_ENABLED' => 'conf_VM_FEED_ENABLED', 139 'VM_FEED_CACHE' => 'conf_VM_FEED_CACHE', 140 'VM_FEED_CACHETIME' => 'conf_VM_FEED_CACHETIME', 141 'VM_FEED_TITLE' => 'conf_VM_FEED_TITLE', 142 'VM_FEED_TITLE_CATEGORIES' => 'conf_VM_FEED_TITLE_CATEGORIES', 143 'VM_FEED_SHOW_IMAGES' => 'conf_VM_FEED_SHOW_IMAGES', 144 'VM_FEED_SHOW_PRICES' => 'conf_VM_FEED_SHOW_PRICES', 145 'VM_FEED_SHOW_DESCRIPTION' => 'conf_VM_FEED_SHOW_DESCRIPTION', 146 'VM_FEED_DESCRIPTION_TYPE' => 'conf_VM_FEED_DESCRIPTION_TYPE', 147 'VM_FEED_LIMITTEXT' => 'conf_VM_FEED_LIMITTEXT', 148 'VM_FEED_MAX_TEXT_LENGTH' => 'conf_VM_FEED_MAX_TEXT_LENGTH', 149 'VM_STORE_CREDITCARD_DATA' => 'conf_VM_STORE_CREDITCARD_DATA', 150 'VM_ENCRYPT_FUNCTION' => 'conf_ENCRYPT_FUNCTION', 151 'VM_COMPONENT_NAME' => 'option', 152 "VM_LOGFILE_ENABLED" => "conf_VM_LOGFILE_ENABLED", 153 "VM_LOGFILE_NAME" => "conf_VM_LOGFILE_NAME", 154 "VM_LOGFILE_LEVEL" => "conf_VM_LOGFILE_LEVEL", 155 "VM_DEBUG_IP_ENABLED" => "conf_VM_DEBUG_IP_ENABLED", 156 "VM_DEBUG_IP_ADDRESS" => "conf_VM_DEBUG_IP_ADDRESS", 157 "VM_LOGFILE_FORMAT" => "conf_VM_LOGFILE_FORMAT", 158 159 // Begin Arrays 160 "VM_BROWSE_ORDERBY_FIELDS" => "conf_VM_BROWSE_ORDERBY_FIELDS", 161 "VM_MODULES_FORCE_HTTPS" => "conf_VM_MODULES_FORCE_HTTPS", 162 "VM_CHECKOUT_MODULES" => "VM_CHECKOUT_MODULES", 163 "PSHOP_SHIPPING_MODULE" => "conf_SHIPPING" 164 ); 165 if( !vmisJoomla('1.5')) { 166 $url = '$mosConfig_live_site.$app'; 167 } else { 168 $url = "'".$db->getEscaped(vmGet($d,'conf_URL', $mosConfig_live_site ))."'"; 169 } 170 $config = "<?php 171 if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 172 /** 173 * The configuration file for VirtueMart 174 * 175 * @package VirtueMart 176 * @subpackage core 177 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php 178 * VirtueMart is free software. This version may have been modified pursuant 179 * to the GNU General Public License, and as distributed it includes or 180 * is derivative of works licensed under the GNU General Public License or 181 * other free or open source software licenses. 182 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. 183 * 184 * http://virtuemart.net 185 */ 186 187 global \$mosConfig_absolute_path,\$mosConfig_live_site; 188 if( !class_exists( 'jconfig' )) { 189 \$global_lang = \$GLOBALS['mosConfig_lang']; 190 191 @include( dirname( __FILE__ ).'/../../../configuration.php' ); 192 193 \$GLOBALS['mosConfig_lang'] = \$mosConfig_lang = \$global_lang; 194 } 195 // Check for trailing slash 196 if( \$mosConfig_live_site[strlen( \$mosConfig_live_site)-1] == '/' ) { 197 \$app = ''; 198 } 199 else { 200 \$app = '/'; 201 } 202 // these path and url definitions here are based on the Joomla! Configuration 203 define( 'URL', $url ); 204 define( 'SECUREURL', '".$db->getEscaped($d['conf_SECUREURL'])."' ); 205 206 if ( (!empty(\$_SERVER['HTTPS']) && \$_SERVER['HTTPS'] != 'off') || \$_SERVER['SERVER_PORT'] == '443' ) { 207 define( 'IMAGEURL', SECUREURL .'components/com_virtuemart/shop_image/' ); 208 define( 'VM_THEMEURL', SECUREURL.'components/com_virtuemart/themes/".$db->getEscaped($d['conf_THEME'])."/' ); 209 } else { 210 define( 'IMAGEURL', URL .'components/com_virtuemart/shop_image/' ); 211 define( 'VM_THEMEURL', URL.'components/com_virtuemart/themes/".$db->getEscaped($d['conf_THEME'])."/' ); 212 } 213 define( 'VM_THEMEPATH', \$mosConfig_absolute_path.'/components/com_virtuemart/themes/".$db->getEscaped($d['conf_THEME'])."/' ); 214 215 define( 'COMPONENTURL', URL .'administrator/components/com_virtuemart/' ); 216 define( 'ADMINPATH', \$mosConfig_absolute_path.'/administrator/components/com_virtuemart/' ); 217 define( 'CLASSPATH', ADMINPATH.'classes/' ); 218 define( 'PAGEPATH', ADMINPATH.'html/' ); 219 define( 'IMAGEPATH', \$mosConfig_absolute_path.'/components/com_virtuemart/shop_image/' );\n\n"; 220 221 // LOOP THROUGH ALL CONFIGURATION VARIABLES 222 while (list($key, $value) = each($my_config_array)) { 223 if( $key == 'ENCODE_KEY' ) { 224 $encode_key = vmGet( $d, $value ); 225 $config .= "define('ENCODE_KEY', '".str_replace('\'', "\'", $encode_key )."');\n"; 226 if( $encode_key != ENCODE_KEY ) { 227 // The ENCODE KEY has been changed! Now we need to re-encode the credit card information and transaction keys 228 $db->query( 'UPDATE #__{vm}_order_payment SET order_payment_number = '.VM_ENCRYPT_FUNCTION.'('.VM_DECRYPT_FUNCTION.'(order_payment_number,\''.$db->getEscaped(ENCODE_KEY).'\'), \''.$db->getEscaped($encode_key).'\')'); 229 $db->query( 'UPDATE #__{vm}_payment_method SET payment_passkey = '.VM_ENCRYPT_FUNCTION.'('.VM_DECRYPT_FUNCTION.'(payment_passkey,\''.$db->getEscaped(ENCODE_KEY).'\'), \''.$db->getEscaped($encode_key).'\')'); 230 } 231 } 232 elseif( $key == 'VM_ENCRYPT_FUNCTION') { 233 if( !defined('VM_ENCRYPT_FUNCTION')) define('VM_ENCRYPT_FUNCTION', 'ENCODE'); 234 if( empty( $d[$value] )) { 235 $d[$value] = 'ENCODE'; 236 } 237 if( $d[$value] != VM_ENCRYPT_FUNCTION ) { 238 $encode_key = vmGet( $d, 'conf_ENCODE_KEY' ); 239 $reencode_key = $encode_key != ENCODE_KEY ? $encode_key : ENCODE_KEY; 240 if( $d[$value] == 'ENCODE' ) $decryptor = 'DECODE'; 241 elseif( $d[$value] == 'AES_ENCRYPT' ) $decryptor = 'AES_DECRYPT'; 242 else $d[$value] = VM_ENCRYPT_FUNCTION; 243 // The Encryption Function has been changed. We need to decode and re-encrypt now! 244 $db->query( "UPDATE #__{vm}_order_payment SET order_payment_number = ".$d[$value].'('.VM_DECRYPT_FUNCTION."(order_payment_number,'".$db->getEscaped($reencode_key)."'), '".$db->getEscaped($reencode_key)."')"); 245 $db->query( 'UPDATE #__{vm}_payment_method SET payment_passkey = '.$d[$value].'('.VM_DECRYPT_FUNCTION.'(payment_passkey,\''.$db->getEscaped($reencode_key).'\'), \''.$db->getEscaped($reencode_key).'\')'); 246 } 247 $config .= "define('$key', '".$d[$value]."');\n"; 248 } 249 elseif( $key == "PSHOP_SHIPPING_MODULE" ) { 250 $config .= "\n/* Shipping Methods Definition */\nglobal \$PSHOP_SHIPPING_MODULES;\n"; 251 $i = 0; 252 if( empty( $d['conf_SHIPPING'] )) $d['conf_SHIPPING'] = array('no_shipping'); 253 foreach( $d['conf_SHIPPING'] as $shipping_module) { 254 $config.= "\$PSHOP_SHIPPING_MODULES[$i] = \"$shipping_module\";\n"; 255 $i++; 256 } 257 } 258 elseif( $key == "VM_BROWSE_ORDERBY_FIELDS" ) { 259 $config .= "\n/* OrderByFields */\nglobal \$VM_BROWSE_ORDERBY_FIELDS;\n"; 260 $config .= "\$VM_BROWSE_ORDERBY_FIELDS = array( "; 261 $i= 0; 262 if( empty( $d['conf_VM_BROWSE_ORDERBY_FIELDS'] ) ) { 263 $d['conf_VM_BROWSE_ORDERBY_FIELDS'] = array(); 264 } 265 foreach( $d['conf_VM_BROWSE_ORDERBY_FIELDS'] as $orderbyfield) { 266 $config.= "'$orderbyfield'"; 267 if( $i+1 < sizeof( $d['conf_VM_BROWSE_ORDERBY_FIELDS'] )) { 268 $config .= ','; 269 } 270 $i++; 271 } 272 $config.= " );\n"; 273 } 274 elseif( $key == 'VM_MODULES_FORCE_HTTPS' ) { 275 $config .= "\n/* Shop Modules that run with https only*/\nglobal \$VM_MODULES_FORCE_HTTPS;\n"; 276 $config .= "\$VM_MODULES_FORCE_HTTPS = array( "; 277 $i= 0; 278 if( empty( $d['conf_VM_MODULES_FORCE_HTTPS'] )) $d['conf_VM_MODULES_FORCE_HTTPS'] = array(); 279 foreach( $d['conf_VM_MODULES_FORCE_HTTPS'] as $https_module) { 280 $config.= "'".$db->getEscaped($https_module )."'"; 281 if( $i+1 < sizeof( $d['conf_VM_MODULES_FORCE_HTTPS'] )) { 282 $config .= ','; 283 } 284 $i++; 285 } 286 $config.= " );\n"; 287 } 288 elseif( $key == 'VM_CHECKOUT_MODULES' ) { 289 $config .= "\n// Checkout Steps and their order\nglobal \$VM_CHECKOUT_MODULES;\n"; 290 $config .= "\$VM_CHECKOUT_MODULES = array( "; 291 $i= 0; 292 $max = 0; 293 foreach( $d['VM_CHECKOUT_MODULES'] as $step ) { 294 $max = (int)$step['order'] > $max ? (int)$step['order'] : $max; 295 if( $step['name'] == 'CHECK_OUT_GET_FINAL_CONFIRMATION' ) { 296 $step['order'] = max( $max, $step['order'] ); // In case someone wants the final confirmation not as last step (so we force it to be the last step) 297 } 298 $enabled = !empty($step['enabled']) || $step['name'] == 'CHECK_OUT_GET_PAYMENT_METHOD' || $step['name'] == 'CHECK_OUT_GET_FINAL_CONFIRMATION'; 299 $config.= "'".$step['name']."'=>array('order'=>".(int)$step['order'].",'enabled'=>".(int)$enabled.")"; 300 if( $i+1 < sizeof( $d['VM_CHECKOUT_MODULES'] )) { 301 $config .= ",\n"; 302 } 303 $i++; 304 } 305 $config.= " );\n"; 306 } 307 elseif( $key == 'PSHOP_OFFLINE_MESSAGE' || $key == 'VM_ONCHECKOUT_LEGALINFO_SHORTTEXT' ) { 308 $config_val = str_replace("'","\'",vmGet( $d, $value) ); 309 $config .= "define('".$key."', '".$config_val."');\n"; 310 } 311 else { 312 $config_val = vmGet( $d, $value); 313 $config_val = str_replace("'","\'", $config_val ); 314 $config_val = str_replace("\\\\","\\\\\\\\", $config_val ); 315 $config .= "define('".$key."', '".$config_val."');\n"; 316 } 317 } 318 319 $config .= "?>"; 320 321 file_put_contents(ADMINPATH ."virtuemart.cfg.php", $config ); 322 323 if( !empty($_REQUEST['ajax_request'] )) { 324 $vmLogger->info( $VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS',false) ); 325 } else { 326 vmRedirect( $_SERVER['PHP_SELF']."?page=admin.show_cfg&option=com_virtuemart", $VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS') ); 327 } 328 return true; 329 330 } 331 } // end function writeconfig 332 333 /** 334 * Writes the configuration file of the current theme 335 * 336 * @param array $d 337 */ 338 function writeThemeConfig( &$d ) { 339 global $page, $VM_LANG, $vmLogger; 340 341 $my_config_array = array(); 342 $config = "<?php 343 if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 344 /** 345 * The configuration file for the ".basename( VM_THEMEPATH )." theme 346 * 347 * @package VirtueMart 348 * @subpackage themes 349 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php 350 * VirtueMart is free software. This version may have been modified pursuant 351 * to the GNU General Public License, and as distributed it includes or 352 * is derivative of works licensed under the GNU General Public License or 353 * other free or open source software licenses. 354 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. 355 * 356 * http://virtuemart.net 357 */ 358 ?> 359 "; 360 $params = vmGet( $_POST, 'params', '' ); 361 if (is_array( $params )) { 362 $txt = array(); 363 foreach ($params as $k=>$v) { 364 $txt[] = "$k=$v"; 365 } 366 if( is_callable(array('mosParameters', 'textareaHandling'))) { 367 $_POST['params'] = mosParameters::textareaHandling( $txt ); 368 } 369 else { 370 371 $total = count( $txt ); 372 for( $i=0; $i < $total; $i++ ) { 373 if ( strstr( $txt[$i], "\n" ) ) { 374 $txt[$i] = str_replace( "\n", '<br />', $txt[$i] ); 375 } 376 } 377 $_POST['params'] = implode( "\n", $txt ); 378 379 } 380 } 381 $config .= $_POST['params']; 382 383 if ($fp = fopen(VM_THEMEPATH ."theme.config.php", "w")) { 384 fputs($fp, $config, strlen($config)); 385 fclose ($fp); 386 387 if( !empty($_REQUEST['ajax_request'])) { 388 $vmLogger->info( $VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS',false) ); 389 } else { 390 $task = vmGet( $_REQUEST, 'task', ''); 391 if( $task == 'apply' ) { 392 $page = 'admin.theme_config_form'; 393 $theme = '&theme=' . basename(VM_THEMEURL); 394 } else { 395 $page = 'admin.show_cfg'; 396 $theme = ''; 397 } 398 if( !empty($_REQUEST['ajax_request']) ) { 399 $vmLogger->info( $VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS',false) ); 400 } else { 401 vmRedirect( $_SERVER['PHP_SELF']."?page=$page$theme&option=com_virtuemart", $VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS') ); 402 } 403 404 } 405 return true; 406 } else { 407 $vmLogger->err( $VM_LANG->_('VM_CONFIGURATION_CHANGE_FAILURE',false).' ('. VM_THEMEPATH ."theme.config.php)" ); 408 return false; 409 } 410 } 411 412 } // end class ps_config 413 414 // Check if there is an extended class in the Themes and if it is allowed to use them 415 // If the class is called outside Virtuemart, we have to make sure to load the settings 416 // Thomas Kahl - Feb. 2009 417 if (!defined('VM_ALLOW_EXTENDED_CLASSES') && file_exists(dirname(__FILE__).'/../virtuemart.cfg.php')) { 418 include_once(dirname(__FILE__).'/../virtuemart.cfg.php'); 419 } 420 // If settings are loaded, extended Classes are allowed and the class exisits... 421 if (defined('VM_ALLOW_EXTENDED_CLASSES') && defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES && file_exists(VM_THEMEPATH.'user_class/'.basename(__FILE__))) { 422 // Load the theme-user_class as extended 423 include_once(VM_THEMEPATH.'user_class/'.basename(__FILE__)); 424 } else { 425 // Otherwise we have to use the original classname to extend the core-class 426 class ps_config extends vm_ps_config {} 427 } 428 ?>
titolo
Descrizione
Corpo
titolo
Descrizione
Corpo
titolo
Descrizione
Corpo
titolo
Corpo
| Generato il: Mon Oct 19 20:29:27 2009 | Generato con PHPXref 0.7 |