[ Indice ]

Riferimento incrociato di Joomla! 1.5.14 - VM 1.1.4

Servizio fornito da VMItalia
Classe:   Funzione:   Variabile:   Costante:  
Storico Ricerche +

titolo

Corpo

[chiudi]

/administrator/components/com_virtuemart/classes/ -> ps_config.php (sorgente)

   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  ?>


Generato il: Mon Oct 19 20:29:27 2009 Generato con PHPXref 0.7