Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

mario512

Користувачі
  • Публікації

    355
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем mario512

  1. Добрый день. Текст "Условия соглашения" выходит за пределы модального окна при ширине экрана свыше 768 пикселей. Уже запарился искать причину. Ссыль на сайт

    Буду признателен за пинок в нужном направлении.

    Спойлер

    Screenshot_1.thumb.jpg.faafcb442ed4ccb40f9f4d836281b584.jpg

     

  2. Добрый день. Подскажите как прижать к нижней части блок divstock, который находится внутри блока caption. Если задать родительскому блоку свойство position: relative, а дочернему position: absolute; bottom: 0px; блоки divstock и rating меняются местами. Как можно эти два блока сместить вниз относительно родительского? 

    По умолчанию.

    Спойлер

    screen1.thumb.jpg.cee48b73781f448d17ed984f7b7d2657.jpg

    После правки:

    Спойлер

    screen2.thumb.jpg.8dddf8af526d2a5801cc496f50434745.jpg

    сайт Сайт

  3. Закинул указанный файл в каталог system/library/db/mysqli_cached.php

    <?php
    namespace DB;
    final class MySQLi_Cached {
    	private $link;
        private $cache;
        private $cachedquery;
    
        public function __construct($hostname, $username, $password, $database, $port = '3306') {
            $this->cache = new Cache(DB_CACHED_EXPIRE);
            $this->link = new \mysqli($hostname, $username, $password, $database, $port);
            if ($this->link->connect_error) {
             trigger_error('Error: Could not make a database link (' . $this->link->connect_errno . ') ' . $this->link->connect_error);
             exit();
         }
    
         $this->link->set_charset("utf8");
         $this->link->query("SET SQL_MODE = ''");
         $this->link->query("SET NAMES 'utf-8");
         $this->link->query("SET CHARACTER_SET_CONNECTION=utf8");
    
     }
     
     public function query($sql) {
            // Only SELECT query
            // COMMENTS HERE
            // COMMENTS HERE
            // COMMENTS HERE
        $isselect = 0;
        $md5query = '';
        $pos = stripos($sql, 'select ');
        if ($pos == 0)
        {
            $isselect = 1;
            $md5query = md5($sql);
            if ($query = $this->cache->get('sql_' . $md5query)) {
                if ($query->sql == $sql) {
                    if ($resetflag = $this->cache->get('sql_globalresetcache')) {
                        if ($resetflag <= $query->time) {
                            $this->cachedquery = $query;
                            return($query);
                        }
                        else {
                         $this->cachedquery = $query;
                         return($query);
                         
                     }                        
                 }
             }
         }
         $resource = $this->link->query($sql);
         if ($resource) {
            if (is_resource($resource)) {
                $i = 0;
                $data = array();
                while ($result = $query->fetch_accoc($resource)) {
                    $data[$i] = $result;
                    $i++;
                }
                
            }
        }
    }
    
    $query = $this->link->query($sql);
    
    if (!$this->link->errno) {
     if ($query instanceof \mysqli_result) {
        $data = array();
        while ($row = $query->fetch_assoc()) {
           $data[] = $row;
       }
    
       $result = new \stdClass();
       $result->num_rows = $query->num_rows;
       $result->row = isset($data[0]) ? $data[0] : array();
    
       $result->rows = $data;
    
       $query->close();
    
       return $result;
    } else {
        return true;
    }
    } else {
     trigger_error('Error: ' . $this->link->error  . '<br />Error No: ' . $this->link->errno . '<br />' . $sql);
    
    
    }
    }
    
    public function escape($value) {
      return $this->link->real_escape_string($value);
    
    }
    
    public function countAffected() {
        if(isset($this->cachedquery) && $this->cachedquery)
        {
            return $this->cachedquery->num_rows;
        }
        else {
            return $this->link->affected_rows;    
        }
    
    
        
    
    
    
    
    
    
    }
    
    public function getLastId() {
    
    
      return $this->link->insert_id;
    }
    
    public function __destruct() {
    
    
      $this->link->close();
    }
    }

    Заменил в конфиге

    define('DB_DRIVER', 'mysqli');

    на

    define('DB_DRIVER', 'mysqli_cached');

     

    И получил ошибку 500. Что не так?

  4. У хостера данные штуки поддерживаются. Memcached и Opcache работают в не зависимости от cms? А Jet Cashe нужно активировать в OpenCart? У меня OsStore 2.3.02, где то видел на форуме инструкцию как его активировать без модулей. Не могу ее найти. 

  5. Всем здоровья! 

    Несколько лет был клиентом ukraine.com.ua. Рассматриваю вариант переезда. Основная причина - запрет на исходящие UDP соединения с сервера. Кроме магазина на субдоменах крутятся несколько веб приложений и скриптов облегчающих работу розницы, которые активно допиливаю.  

  6. На всякий случай мой вариант решения данной задачи.

    Я формирую список фотографий для выгрузки в командный файл для встроенного FTP  клиента Windows и передаю ему этот список команд.

    Процедура для 1с V7:

    Спойлер
    
    Процедура ВыгрузитьФото()
    	Если ВыгФото = 1 Тогда
    		ЗаписатьФото();
    		Если стФото.РазмерСписка() > 0  тогда 
    			ТекстВыгрузки = СоздатьОбъект("Текст");
    			ТекстВыгрузки.ДобавитьСтроку("open " + ФтпСервер);
    			ТекстВыгрузки.ДобавитьСтроку(ФтпЛогин);
    			ТекстВыгрузки.ДобавитьСтроку(ФтпПароль);
    			ТекстВыгрузки.ДобавитьСтроку("cd "+ФтпКаталог+Прав(ФтпКаталогФото,СтрДлина(ФтпКаталогФото)-1));
    			ТекстВыгрузки.ДобавитьСтроку("mkdir "+СокрЛП(АйДи));
    			ТекстВыгрузки.ДобавитьСтроку("cd "+ФтпКаталог+Прав(ФтпКаталогФото,СтрДлина(ФтпКаталогФото)-1)+СокрЛП(АйДи)); //логин
    			ТекстВыгрузки.ДобавитьСтроку("type binary");
    			Для Ном = 1 По стФото.РазмерСписка() Цикл
    				ТекстВыгрузки.ДобавитьСтроку("put "+ СтрЗаменить(стФото.ПолучитьЗначение(Ном),"(главное фото)",""));
    			КонецЦикла;
    			ТекстВыгрузки.ДобавитьСтроку("bye");
    			ТекстВыгрузки.Записать(КаталогПользователя() + "ftp.txt");
    			ТекстВыгрузки = "";
    			КомандаСистемы("ftp -s:" + КаталогПользователя() + "Ftp.txt>> " + (КаталогПользователя() + "report.txt"));
    			ФС.УдалитьФайл(КаталогПользователя() + "ftp.txt");
    			ТекстВыгрузки = СоздатьОбъект("Текст");
    			ТекстВыгрузки.Открыть(КаталогПользователя() + "report.txt");
    			КС = ТекстВыгрузки.КоличествоСтрок()-4; 
    			Попытка 
    				строкаКомплете = ТекстВыгрузки.ПолучитьСтроку(КС);
    				Если  Найти(Нрег(строкаКомплете),"226 transfer complete") = 0
    				Тогда а=1; а=а/0;
    				КонецЕсли;
    				ТекстВыгрузки = "";
    				ФС.УдалитьФайл(КаталогПользователя() + "report.txt");
    				Есть = 1;
    			Исключение
    				тПротокол = ТекущееВремя()+" ПРОИЗОШЛА ОШИБКА ВО ВРЕМЯ ЗАГРУЗКИ СФОРМИРОВАННОГО ФАЙЛА НА СЕРВЕР ИНЕТРНЕТ-МАГАЗИНА"+РазделительСтрок+тПротокол;
    				ТекстВыгрузки.Показать();
    				ТекстВыгрузки = "";
    			КонецПопытки;
    			Если Есть = 1 тогда
    				post=Соединение.Execute("UPDATE oc_product SET `image`="""+ПутьКФото(СокрЛП(ГлавноеФотоТовара))+""" WHERE `product_id`="+СокрЛП(АйДи));
    				Ном = 0;
    				НомСтрок = 0;
    				post=Соединение.Execute("DELETE FROM `oc_product_image` WHERE `oc_product_image`.`product_id` ="+СокрЛП(АйДи));
    				ПослФотоАйди=Соединение.Execute("SELECT MAX(`product_image_id`) AS `product_image_id` FROM oc_product_image");
    				ФотоАйди = Число(ПослФотоАйди.Fields.Item("product_image_id").value);
    				Для Ном = 1 По стФото.РазмерСписка() Цикл
    					НомСтрок = НомСтрок + 1;
    					Если Найти(стФото.ПолучитьЗначение(НомСтрок),"(главное фото)") = 0  тогда 
    						ФотоАйди = ФотоАйди+1;
    						post=Соединение.Execute("REPLACE INTO `oc_product_image`(`product_image_id`, `product_id`, `image`, `sort_order`) VALUES ("+ФотоАйди+","+СокрЛП(АйДи)+","""+ПутьКФото(СтрЗаменить(стФото.ПолучитьЗначение(НомСтрок),"(главное фото)"," "))+""","+Ном+")");
    					КонецЕсли;
    				КонецЦикла;
    			КонецЕсли;	
    		иначе
    			post=Соединение.Execute("SELECT `image` FROM `oc_product_image` WHERE `product_id` ="+СокрЛП(АйДи));
    			ТекстВыгрузки = СоздатьОбъект("Текст");
    			ТекстВыгрузки.ДобавитьСтроку("open " + ФтпСервер);
    			ТекстВыгрузки.ДобавитьСтроку(ФтпЛогин);
    			ТекстВыгрузки.ДобавитьСтроку(ФтпПароль);
    			ТекстВыгрузки.ДобавитьСтроку("delete "+ФтпКаталог+СокрЛП(ПутьКФото(ГлавноеФотоТовара)));
    			Пока post.Eof()=0 Цикл
    				ТекстВыгрузки.ДобавитьСтроку("delete "+ФтпКаталог+СокрЛП(post.Fields.Item("image").value)); 
    				post.MoveNext();
    			КонецЦикла;
    			ТекстВыгрузки.ДобавитьСтроку("rmdir "+ФтпКаталог+Прав(ФтпКаталогФото,СтрДлина(ФтпКаталогФото)-1)+СокрЛП(АйДи));
    			ТекстВыгрузки.ДобавитьСтроку("bye");
    			ТекстВыгрузки.Записать(КаталогПользователя() + "ftp.txt");
    			ТекстВыгрузки = "";
    			КомандаСистемы("ftp -s:" + КаталогПользователя() + "Ftp.txt>> " + (КаталогПользователя() + "report.txt"));
    			ФС.УдалитьФайл(КаталогПользователя() + "ftp.txt");
    			post=Соединение.Execute("DELETE FROM `oc_product_image` WHERE `oc_product_image`.`product_id` ="+СокрЛП(АйДи));
    			post=Соединение.Execute("UPDATE oc_product SET `image`="""" WHERE `product_id`="+СокрЛП(АйДи));
    			ГлавноеФотоТовара = " ";
    		КонецЕсли;
    	иначе
    	     ЗаписатьФото();
    		Если стФото.РазмерСписка() > 0  тогда
    			Ном = 0;
    			post=Соединение.Execute("DELETE FROM `oc_product_image` WHERE `oc_product_image`.`product_id` ="+СокрЛП(АйДи));
    			Для ы = 1 по стФото.РазмерСписка() Цикл
    				Если ы = 1 тогда
    					post=Соединение.Execute("UPDATE oc_product SET `image`="""+СокрЛП(стФото.ПолучитьЗначение(ы))+""" WHERE `product_id`="+СокрЛП(АйДи));
    				КонецЕсли;	
    				Если ы >= 2 тогда    
    					Ном = Ном + 1;
    					ПослФотоАйди=Соединение.Execute("SELECT MAX(`product_image_id`) AS `product_image_id` FROM oc_product_image");
    					ФотоАйди = Число(ПослФотоАйди.Fields.Item("product_image_id").value);
    					ФотоАйди = ФотоАйди+1;
    					post=Соединение.Execute("REPLACE INTO `oc_product_image`(`product_image_id`, `product_id`, `image`, `sort_order`) VALUES ("+ФотоАйди+","+СокрЛП(АйДи)+","""+стФото.ПолучитьЗначение(ы)+""","+Ном+")");
    				КонецЕсли
    			КонецЦикла;
    		КонецЕсли;
    	КонецЕсли;
    КонецПроцедуры

     

     

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.