• Как скорректировать вывод из БД даты и времени на vue+laravel?

    @nikkon82 Автор вопроса
    Проверил, что отдает Laravel - отдает то время, что взял из БД - 8:20
    Но на сайт response приходит 5:20
    Написано
  • Как решить задачку с ролями и доступами?

    @nikkon82 Автор вопроса
    Anton Semenov, Я не ищу один правильный ответ, интересуюсь чтобы выбрать направление для поиска - по теме Роли и Доступы в основном одни и те же пакеты в поиске, но мне они не совсем подходят, т.к. там много лишнего.

    А спрашиваю рекомендации у других потому, что часто бывает что решение есть простое и рядом, но ты его не видишь. А так может кто подскажет что...
    Написано
  • Как решить задачку с ролями и доступами?

    @nikkon82 Автор вопроса
    Спасибо, попробуем )
    Написано
  • Как получить доступ к объекту, который есть, но приложение его не видит?

    @nikkon82 Автор вопроса
    fallus, писал же, что когда ставишь v-if пропадает ошибка в консоли, но проблема не решается, т.к. доступа к вложенному объекту нет
    Написано
  • Как получить доступ к объекту, который есть, но приложение его не видит?

    @nikkon82 Автор вопроса
    в user_service:
    export function loadOneUser(id) {
        return http().get(`/admin/users/${id}`)
    }

    получаем данные с бэка - ларавел
    public function show($id)
        {
            $user = User::with('parentUser')->find($id);
    
            return response()->json($user, 200);
        }
    Написано
  • Как обновить state после softdelete или restore?

    @nikkon82 Автор вопроса
    Alex, да разобрался уже в собственной не внимательности )))
    надо было вот так:
    state.users.map(u => {
         if (u.id === user.id) {
             for (let key in user) {
                  u[key] = user[key]
              }
        }
     })
    Написано
  • Как обновить state после softdelete или restore?

    @nikkon82 Автор вопроса
    Сейчас реализовано по аналогии с update...
    actions:
    async deleteUser({commit}, user) {
                await userService.deleteUser(user.id)
                commit('DELETE_USER', user)
                return user
            },
            async restoreUser({commit}, user) {
                await userService.restoreUser(user.id)
                commit('RESTORE_USER', user)
                return user
            },


    mutations:
    DELETE_USER(state, user) {
                state.users.forEach(u => {
                    if(u.id == user.id) {
                        u = user
                    }
                })
            },
            RESTORE_USER(state, user) {
                state.users.forEach(u => {
                    if(u.id == user.id) {
                        u = user
                    }
                })
            },


    Как я понимаю, что неверно state обновляю
    Написано
  • Как правильно преобразовать массив в XML?

    @nikkon82 Автор вопроса
    protected function importParams($requestXml, $params) {
            foreach($params as $key => $val) {
                if (is_array($val)) {
                    $requestXml->$key = new SimpleXMLElement("<$key/>");
                    foreach($val as $key2 => $val2) {
                        if (is_array($val2)) {
                            $this->importParams($requestXml->$key, $val2);
                        } else {
                            $requestXml->$key->addChild($key2, $val2);
                        }
                    }
                } else {
                    $requestXml->addChild($key, $val);
                }
            }
            return $requestXml;
        }
    Написано
  • Как правильно преобразовать массив в XML?

    @nikkon82 Автор вопроса
    Да все верно, XML и т.п.
    Пробовал подобный вариант - аналогично только последнее значение приходит
    Написано
  • Растет таблица oc_session. Как исправить?

    @nikkon82 Автор вопроса
    благодарю!
    расхождение в 3 часа
    поставил модуль для синхронизации времени php и БД - посмотрим что получится
    Написано
  • Растет таблица oc_session. Как исправить?

    @nikkon82 Автор вопроса
    Мне кажется, что нет нигде обращения к функции gc - но как и где правильно ее добавить?
    Написано
  • Растет таблица oc_session. Как исправить?

    @nikkon82 Автор вопроса
    Конечно мешает. Растет бывает до 1 Гб - хостинг уже ругается, а повышать постоянно квоту - это деньги на ветер, если можно программно исправить. Вот это и не понятно, почему она сама не очищается. Код взятый с ГитХаба, подскажите плиз что не так, что исправить?

    <?php
    /*
    CREATE TABLE IF NOT EXISTS `session` (
      `session_id` varchar(32) NOT NULL,
      `data` text NOT NULL,
      `expire` datetime NOT NULL,
      PRIMARY KEY (`session_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
    */
    namespace Session;
    final class DB {
    	public $expire = 3600;
    	
    	public function __construct($registry) {
    		$this->db = $registry->get('db');
    		
    		$this->expire = ini_get('session.gc_maxlifetime');
    	}
    	
    	public function read($session_id) {
    		$query = $this->db->query("SELECT `data` FROM `" . DB_PREFIX . "session` WHERE session_id = '" . $this->db->escape($session_id) . "' AND expire > '" . $this->db->escape(date('Y-m-d H:i:s'))  . "'");
    		
    		if ($query->num_rows) {
    			return json_decode($query->row['data'], true);
    		} else {
    			return false;
    		}
    	}
    	
    	public function write($session_id, $data) {
    		if ($session_id) {
    			$this->db->query("REPLACE INTO `" . DB_PREFIX . "session` SET session_id = '" . $this->db->escape($session_id) . "', `data` = '" . $this->db->escape($data ? json_encode($data) : '') . "', expire = '" . $this->db->escape(date('Y-m-d H:i:s', time() + $this->expire)) . "'");
    		}
    		
    		return true;
    	}
    	
    	public function destroy($session_id) {
    		$this->db->query("DELETE FROM `" . DB_PREFIX . "session` WHERE session_id = '" . $this->db->escape($session_id) . "'");
    		
    		return true;
    	}
    	
    	public function gc($expire) {
    		if (ini_get('session.gc_divisor')) {
    			$gc_divisor = ini_get('session.gc_divisor');
    		} else {
    			$gc_divisor = 1;
    		}
    		if (ini_get('session.gc_probability')) {
    			$gc_probability = ini_get('session.gc_probability');
    		} else {
    			$gc_probability = 1;
    		}
    		if ((rand() % $gc_divisor) < $gc_probability) {
    			$this->db->query("DELETE FROM `" . DB_PREFIX . "session` WHERE expire < '" . $this->db->escape(date('Y-m-d H:i:s', time())) . "'");
    		}
    		return true;
    	}
    }
    Написано
  • Растет таблица oc_session. Как исправить?

    @nikkon82 Автор вопроса
    Спасибо за рекомендацию с кроном.
    Вот код взятый с ГитХаба опенкарта, но сама база все равно не очищается, подскажите что не так? Может еще где какие-то настройки должны быть?

    <?php
    /*
    CREATE TABLE IF NOT EXISTS `session` (
      `session_id` varchar(32) NOT NULL,
      `data` text NOT NULL,
      `expire` datetime NOT NULL,
      PRIMARY KEY (`session_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
    */
    namespace Session;
    final class DB {
    	public $expire = 3600;
    	
    	public function __construct($registry) {
    		$this->db = $registry->get('db');
    		
    		$this->expire = ini_get('session.gc_maxlifetime');
    	}
    	
    	public function read($session_id) {
    		$query = $this->db->query("SELECT `data` FROM `" . DB_PREFIX . "session` WHERE session_id = '" . $this->db->escape($session_id) . "' AND expire > '" . $this->db->escape(date('Y-m-d H:i:s'))  . "'");
    		
    		if ($query->num_rows) {
    			return json_decode($query->row['data'], true);
    		} else {
    			return false;
    		}
    	}
    	
    	public function write($session_id, $data) {
    		if ($session_id) {
    			$this->db->query("REPLACE INTO `" . DB_PREFIX . "session` SET session_id = '" . $this->db->escape($session_id) . "', `data` = '" . $this->db->escape($data ? json_encode($data) : '') . "', expire = '" . $this->db->escape(date('Y-m-d H:i:s', time() + $this->expire)) . "'");
    		}
    		
    		return true;
    	}
    	
    	public function destroy($session_id) {
    		$this->db->query("DELETE FROM `" . DB_PREFIX . "session` WHERE session_id = '" . $this->db->escape($session_id) . "'");
    		
    		return true;
    	}
    	
    	public function gc($expire) {
    		if (ini_get('session.gc_divisor')) {
    			$gc_divisor = ini_get('session.gc_divisor');
    		} else {
    			$gc_divisor = 1;
    		}
    		if (ini_get('session.gc_probability')) {
    			$gc_probability = ini_get('session.gc_probability');
    		} else {
    			$gc_probability = 1;
    		}
    		if ((rand() % $gc_divisor) < $gc_probability) {
    			$this->db->query("DELETE FROM `" . DB_PREFIX . "session` WHERE expire < '" . $this->db->escape(date('Y-m-d H:i:s', time())) . "'");
    		}
    		return true;
    	}
    }
    Написано
  • Как сортировать список городов по первой букве и по блокам А, Б, В и т.д?

    @nikkon82 Автор вопроса
    У меня массив с городами изначально уже отсортированый из базы идет и массив многомерный - там не только города, но и коды фиас.

    Поэтому вышепреведенный код, когда foreach добавляю, прям жестко тормозит загрузку попапа с городами - секунд на 5-7 зависает сайт.
  • Как передать данные через ajax в php обработчик, который сформирует pdf и скачается файл?

    @nikkon82 Автор вопроса
    Александр, не работает так, как нужно - скачивается файл report.pdf который даже не открывается (ну это и понятно)
    Надо не скачать файл, которого нет, а передать данные в report.php - которые будут обработаны и подставлены в нужные места (как переменные) - и по итогу по сути надо перейти на страницу report.php на которой и будет php представлен в виде pdf (но в итоге он должен просто скачаться - вместо $pdf->Output( "report.pdf", "I" ); пропишется $pdf->Output( "report.pdf", "D" );
  • Как передать данные через ajax в php обработчик, который сформирует pdf и скачается файл?

    @nikkon82 Автор вопроса
    pdf формируется из php файла - report.php - но в него сначала надо еще данные передать
  • Как работает мультимагазин с точки зрения SEO и уникальности текстов?

    @nikkon82 Автор вопроса
    rustam_kuliev88, огромное спаибо за развернутый ответ
  • Как решить вопрос с кешем изображений в опенкарт?

    @nikkon82 Автор вопроса
    А как переписать его так, чтобы он в кеш отправлял файл оригинального объема, но размер делал его при этом квадратный исходя из максимальной высоты или ширины? При этом не создавал миниатурю?
  • Почему не видит оценку - JS?

    @nikkon82 Автор вопроса
    Поменял на другой скрипт - не актуально