6 Августа 2012 16:32

Сохранение переменных в MySQL

Как можно хранить настройки, а именно значения переменных в MySQL

$Settings = new SCID_KC_Settings () ;

GetListVariables // Запрос всех переменных
DeleteVariable // Удаление переменной
UpdateVariable // Обновление значения переменной
AddVariable // Добавление переменной
GetListVariablesModules // Запрос переменных модуля (группы)
GetVariableModules // Запрос переменной модуля

все возвращается в CDBResult


Код
 <?
   class SCID_KC_Settings {
      private $table = '' ;
      private $user = '' ;
      private $db = '' ;
      private $application = '' ;
      var $last_error = '' ;
      
      function SCID_KC_Settings () {
         global $USER, $DB, $APPLICATION ;
         $this->user = &$USER ;
         $this->db = &$DB ;
         $this->application = &$APPLICATION ;
      }
      // Получить список переменных
      public function GetListVariables ( ) {
         $Sql = "SELECT * FROM `scid_kiosk_collector_settings`" ;
         return $this->db->Query ( $Sql ) ;
      }
      // Удаление переменной
      public function DeleteVariable ( $Modules, $Key ) {
         $rsVariable = $this->GetVariableModules ( $Modules, $Key ) ;
         $arVariable = $rsVariable->Fetch() ;
         $Sql = "DELETE FROM `scid_kiosk_collector_settings` WHERE ID=".$arVariable[ID]." LIMIT 1";
         $this->db->Query ($Sql) ;
         if ( strlen($this->db->LAST_ERROR) > 0 ) {
            $this->last_error = $this->db->LAST_ERROR;
            return false;
         } else
            return true;
      }
      // Обновление модуля
      public function UpdateVariable ( $Modules, $Key, $Value ) {
         $rsVariable = $this->GetVariableModules ( $Modules, $Key ) ;
         if ( $rsVariable->SelectedRowsCount() == 1 ) {
            $arVariable = $rsVariable->Fetch () ;
            $Sql = "UPDATE `scid_kiosk_collector_settings` SET `ID_VALUES` = '".$Value."' WHERE ID=".$arVariable[ID]." LIMIT 1";
            $this->db->Query($Sql);
            if(strlen($this->db->LAST_ERROR) > 0) {
               $this->last_error = $this->db->LAST_ERROR;
               return false;
            } else
               return true;
         } else
            return false ;
      }
      // Добавление новой переменной
      public function AddVariable ( $Modules, $Key, $Value ) {
         $rsVariable = $this->GetVariableModules ( $Modules, $Key ) ;
         if ( $rsVariable->SelectedRowsCount() == 0 ) {
         $Sql = "INSERT INTO `scid_kiosk_collector_settings` (`MODULES`, `ID_KEY`, `ID_VALUES`) VALUES ('".$Modules."', '".$Key."', '".$Value."')" ;
            $Res = $this->db->Query($Sql);
            $Id = $this->db->LastID();
            if($Id > 0) {
               return $Id;
            } else {
               $this->LAST_ERROR = $this->db->LAST_ERROR;
               return false;
            }
         } else
            return false ;
      }
      // Получить список переменных модуля
      public function GetListVariablesModules ( $Modules ) {
         $Sql = "SELECT * FROM `scid_kiosk_collector_settings` WHERE MODULES = '".$Modules."'" ;
         return $this->db->Query ( $Sql ) ;
      }
      // Получить переменую модуля
      public function GetVariableModules ( $Modules, $Key ) {
         $Sql = "SELECT * FROM `scid_kiosk_collector_settings` WHERE MODULES = '".$Modules."' AND ID_KEY = '".$Key."'" ;
         return $this->db->Query ( $Sql ) ;
      }
   }

?>


// Добавить таблицу


CREATE TABLE IF NOT EXISTS `scid_kiosk_collector_settings` (
`ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`MODULES` VARCHAR(32) NOT NULL,
`ID_KEY` VARCHAR(32) NOT NULL,
`ID_VALUES` VARCHAR(1024) NOT NULL
) ENGINE = InnoDB ;


// Удалить таблицу
DROP TABLE IF EXISTS `scid_kiosk_collector_settings`;

Просмотров:4231 0   Комментариев:22

'bitrix:asd.share.buttons' is not a component

1 Августа 2012 14:45

Классы иконок для контекстного меню в Bitrix

$context = new CAdminContextMenu ( $aMenu ) ;

$aMenu[] = array(
"ICON" => "btn_list", <- Вот сюда!!!!
"TEXT" => GetMessage("MAIN_ADMIN_MENU_LIST";),
"LINK" => "scid_kiosk_collector_all_modules.php?lang=".LANG,
"TITLE" => GetMessage("И вот сюда ->>>";)
);

/* Context common icons */
table.contextmenu #btn_list {background-image:url(images/buttons/list.gif);}
table.contextmenu #btn_new {background-image:url(images/buttons/new.gif);}
table.contextmenu #btn_delete {background-image:url(images/buttons/delete.gif);}
table.contextmenu #btn_copy {background-image:url(images/buttons/copy.gif);}
table.contextmenu #btn_excel {background-image:url(images/buttons/excel.gif);}
table.contextmenu #btn_settings {background-image:url(images/buttons/settings.gif);}
table.contextmenu #btn_refresh {background-image:url(images/buttons/refresh.gif);}
+
GetMessage битры

[MAIN_ADMIN_ADD_COPY] => Добавить копию
[MAIN_ADMIN_MENU_EDIT] => Изменить
[MAIN_ADMIN_MENU_OPEN] => Открыть
[MAIN_ADMIN_MENU_CLOSE] => Закрыть
[MAIN_ADMIN_MENU_LIST] => Список
[MAIN_ADMIN_MENU_CREATE] => Создать
[MAIN_ADMIN_MENU_ADD] => Добавить
[MAIN_ADMIN_MENU_COPY] => Копировать
[MAIN_ADMIN_MENU_DELETE] => Удалить

Просмотров:4486 0   Комментариев:24

'bitrix:asd.share.buttons' is not a component

8 Июня 2012 19:08

Формы востановления пароля и поддтерждении регистрации

Форма востановления пароля в битре (по умолчанию ее вобще нет в компонентах ) - system.auth.forgotpasswd

Код
<?$APPLICATION->IncludeComponent(
 "bitrix:system.auth.forgotpasswd","",
      Array(),
      false
);?>


Форма подтверждения пользователя (по коду, аналогично ее помойму нету в компонентах) system.auth.confirmation

Код
<?$APPLICATION->IncludeComponent("bitrix:system.auth.confirmation", "",
Array(),
   false
);?>


Все это лежит внутри компонента авторизация пользователя.

Просмотров:10654 0   Комментариев:73

'bitrix:asd.share.buttons' is not a component

IT-технологии
WEB сервера, настройка и конфигурирование, интересные решения
Программирование
WEB программирование, WEB дизайн, Кросс-браузерная верстка
Технические науки
Физика, Математика, Химия и все-то, что лежит в основе наших знаний