<?php
/*
Plugin Name: Обновление с версии 2.5.0 до 2.5.1
Plugin URI: http://www.shopos.ru/
Description:
Version: 2.5.1
Author: Матецкий Евгений
Author URI: http://www.shopos.ru/
Plugin Group: update
*/

  defined('_VALID_OS') or die('Direct Access to this location is not allowed.');

  function update_251_install ()
  {
      global $messageStack;
	  
	  $_query = os_db_query('SHOW FIELDS FROM '.DB_PREFIX.'admin_access');

	  if ( os_db_num_rows($_query,true) ) 
	  {
		   while ($_field = os_db_fetch_array($_query ,true))  
           {
	             $_fields[$_field['Field']] = $_field;
           } 
		   
		   if (!isset($_fields['plugins_page']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access ADD plugins_page INT( 1 ) NOT NULL;');
                os_db_query('UPDATE '.DB_PREFIX.'admin_access SET plugins_page = 1 WHERE customers_id = 1 LIMIT 1;');
		   }
		   
		   //удаляем help. какой то старый рудимент
		   if (isset($_fields['help']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP help');
		   }		   
		   
		   //удаляем cip_manager. тоже из той серии
		   if (isset($_fields['cip_manager']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP cip_manager');
		   }
		   
		   //удаляем orders_send
		   if (isset($_fields['orders_send']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP orders_send');
		   }
		   
		   //удаляем themes_admin
		   if (isset($_fields['themes_admin']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP themes_admin');
		   }
		   
		   //удаляем module_edit
		   if (isset($_fields['module_edit']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP module_edit');
		   }
		   
		   //удаляем module_export
		   if (isset($_fields['module_export']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access DROP module_export');
		   }

		   if (!isset($_fields['error_log']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access ADD error_log INT( 1 ) NOT NULL;');
                os_db_query('UPDATE '.DB_PREFIX.'admin_access SET error_log = 1 WHERE customers_id = 1 LIMIT 1;');
		   }	

		   //добавлена страница file.php для контроля за скачиванием файлов в админке
		   if (!isset($_fields['file']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access ADD file INT( 1 ) NOT NULL;');
                os_db_query('UPDATE '.DB_PREFIX.'admin_access SET file = 1 WHERE customers_id = 1 LIMIT 1;');
		   }			   
		   
		   if (!isset($_fields['import']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access ADD import INT( 1 ) NOT NULL;');
                os_db_query('UPDATE '.DB_PREFIX.'admin_access SET import = 1 WHERE customers_id = 1 LIMIT 1;');
		   }

           if (!isset($_fields['export']))
		   {
		        os_db_query('ALTER TABLE '.DB_PREFIX.'admin_access ADD export INT( 1 ) NOT NULL;');
                os_db_query('UPDATE '.DB_PREFIX.'admin_access SET export = 1 WHERE customers_id = 1 LIMIT 1;');
		   }			   
		   
		   //скрывает столбик налог при массовом редактировании товара
		    os_db_query('UPDATE '.DB_PREFIX.'configuration SET configuration_value = \'false\' WHERE configuration_key=\'DISPLAY_TAX\';');
		    os_db_query('ALTER TABLE '.DB_PREFIX.'manufacturers_info CHANGE manufacturers_description manufacturers_description TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL');
			
			//обновление версии
			os_db_query("UPDATE ".DB_PREFIX."database_version SET version = '2.5.1'") ;
			
			  $file_contents = '<?php' . "\n" .
"#####################################". "\n" .
"#  ShopOS: Shopping Cart Software.". "\n" .
"#  Copyright (c) 2008-2010". "\n" .
"#  http://www.shopos.ru". "\n" .
"#  http://www.shoposs.com". "\n" .
"#  Ver. 2.5.1". "\n" .
"#####################################". "\n". "\n" .

                     '  define(\'DB_SERVER\', \'' . DB_SERVER . '\');' . "\n" .
                     '  define(\'DB_SERVER_USERNAME\', \'' . DB_SERVER_USERNAME . '\');' . "\n" .
                     '  define(\'DB_SERVER_PASSWORD\', \'' . DB_SERVER_PASSWORD . '\');' . "\n" .
                     '  define(\'DB_DATABASE\', \'' . DB_DATABASE. '\');' . "\n" .
                     '  define(\'DB_PREFIX\', \'' . DB_PREFIX. '\');' . "\n" .
                     '  define(\'USE_PCONNECT\', \'' . ((USE_PCONNECT == 'true') ? 'true' : 'false') . '\');' . "\n" .
                     '  define(\'STORE_SESSIONS\', \'' . ((STORE_SESSIONS == 'files') ? '' : 'mysql') . '\'); ' . 
					 "\n" ."\n".'  include(\'includes/paths.php\');'.
					 "\n" .'?>';

        	$_config = dirname(dirname(dirname(__FILE__))).'/config.php';

			if (is_file($_config)=='true')
			{
			     if (is_writable($_config)=='true')
				 {
				      $fp = fopen($_config, 'w');
					  
					  if ($fp)
					  {
                         fputs($fp, $file_contents);
					  }
					  
                      fclose($fp);
					  
					  if (filesize($_config) == 0) 
					  {
					      $messageStack->add_session('После создания конфига /config.php его размер = 0. Дальше обновляться нет смысла. Ищите рещение <a href="http://www.shopos.ru/forum/index.php?topic=3176.0">тут</a>.', 'success');
					  }
					  else
					  {
					      global $plugin_name;
					      $messageStack->add_session('Данный этап обновления успешно пройден. Обновляйтесь дальше!', 'success');
						  
						  if ($plugin_name)
						  {
						      os_db_query('delete from '.DB_PREFIX.'plugins where plugins_key=\''.$plugin_name.'\'');
						  }
						  
						  $messageStack->add_session('База успешно обновлена до версии 2.5.1.', 'success');
						  $messageStack->add_session('<b>Удалите файл modules/plugins/update_251.php</b>.', 'success');
						   os_redirect(FILENAME_PLUGINS.'?module='.$plugin_name);
					  }
				 }
				 else
				 {
				      $messageStack->add_session('Файл /config.php закрыт для записи. <b>Дальше обновляться нет смысла</b>. Установите права доступа 777 на файл /config.php и повторите установку обновления.', 'success');
				 }
			}
			else
			{
			     $messageStack->add_session('Файл /config.php не создан. <b>Дальше обновляться нет смысла.</b> Создайте файл /config.php и установить на него права доступа 777 и повторите установку обновления.', 'success');
			}
			


			//unlink(__FILE__);

		   os_db_query('delete from '.DB_PREFIX.'plugins where plugins_key=\'update_251\'');
      }

  }  
  
?>