Шаблон Техникс - универсальный шаблон Opencart

  • Автор темы Автор темы Den_Volt
  • Дата начала Дата начала

Den_Volt

Разрушитель (V)
Сообщения
62
Реакции
124
Баллы
4 222
Den_Volt разместил(а) новый ресурс:

Техникс 1.1.1 (nulled) - универсальный шаблон для OpenCart - универсальный интернет-магазин для товаров любой тематики на платформе Opencart.


Посмотреть страницу этого ресурса...
 
Декодированные файлы от Техникс 1.1.2. Два файла моделей с испорченными обфускацией именами переменных (свойств, методов). Если кто может восстановить файлы моделей, то шаблон будет доступен с полностью открытым кодом без привязок и проверок.
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
 
Активатор для шаблонов Лайтшоп и Техникс под любую версию PHP и Opencart (Ocstore) . Основная часть файлов шаблона остается закодированной Ioncube, поэтому установка расширения Ioncube для работы обязательна.
Обновлено 31.03.2021: убрано отладочное сообщение.
Обновлено 07.06.2021:
  • при каждом входе на страницу настроек происходит переактивация шаблона, что приводит к обновлению времени последнего изменения "Update_time" таблицы "technics_key". Это устраняет блокировку редактирования главного меню.
Устанавливается через установщик расширений. После загрузки архива шаблона, устанавливаем 899themes_activator.ocmod.zip.
Активация полностью автоматическая.

После установки рекомендуется перейти в папку /admin/controller/extension/heme/lclient и удалить все содержимое, кроме файла checker.php
 
Последнее редактирование:
Обновлено 31.03.2021: убрано отладочное сообщение.
Активатор для шаблонов Лайтшоп и Техникс под любую версию PHP и Opencart (Ocstore) . Основная часть файлов шаблона остается закодированной Ioncube, поэтому установка расширения Ioncube для работы обязательна.

Устанавливается через установщик расширений. После загрузки архива шаблона, устанавливаем 899themes_activator.ocmod.zip.
Активация полностью автоматическая.

После установки рекомендуется перейти в папку /admin/controller/extension/heme/lclient и удалить все содержимое, кроме файла checker.php
-=Ограниченное содержимое=-
Error: A theme has not been assigned to this store!
Я что то делаю не так?) вроде как все правильно ставил....
 
Тему включил?) (в настройках и в темах (шаблонах)) напиши по шагам что сделал что не сделал
Тему поставил, кеш почистил, поставил патч, тему включил..... сейчас попробую на новую систему заново поставить может какой-то конфликт....
 

Den_Volt, к сожалению((( не работает на Version 3.0.3.7 (rs.2) у меня

 
После 20 дней использования отвалилось редактирование главного меню, решается заменой кода в файле admin/controller/extension/module/technics/technics_add.php
на вот этот
PHP:
$this->load->language("extension/theme/theme_technics");
$data["entry_directory"] = $this->language->get("entry_directory");
$data["entry_status"] = $this->language->get("entry_status");
$data["entry_product_limit"] = $this->language->get("entry_product_limit");
$data["entry_product_description_length"] = $this->language->get("entry_product_description_length");
$data["entry_image_category"] = $this->language->get("entry_image_category");
$data["entry_image_thumb"] = $this->language->get("entry_image_thumb");
$data["entry_image_popup"] = $this->language->get("entry_image_popup");
$data["entry_image_product"] = $this->language->get("entry_image_product");

if ($this->request->get["filter_name"]) {
    foreach ($top_links as $type => $results) {
        foreach ($results as $id => $links) {
            $name = key($links);
            $link = current($links);
            if (strpos(mb_strtolower($name), mb_strtolower($this->request->get["filter_name"])) === 0) {
                $json[] = ["id" => $id, "link" => $link, "name" => $name, "category" => $type];
                $i++;
                if (20 < $i) {
                    break;
                }
            }
        }
    }
} else {
    foreach ($top_links as $type => $results) {
        foreach ($results as $id => $links) {
            $name = key($links);
            $link = current($links);
            $json[] = ["id" => $id, "link" => $link, "name" => $name, "category" => $type];
            $i++;
            if (20 < $i) {
                break;
            }
        }
    }
}

$data["text_products"] = $this->language->get("text_products");
$data["text_tabs_shablon"] = $this->language->get("text_tabs_shablon");
$data["text_tabs_links"] = $this->language->get("text_tabs_links");
$data["text_tabs_popup"] = $this->language->get("text_tabs_popup");
$data["text_tabs_tab"] = $this->language->get("text_tabs_tab");
$data["text_tabs_to_products"] = $this->language->get("text_tabs_to_products");
$data["text_tabs_tab_to_categories"] = $this->language->get("text_tabs_tab_to_categories");

еще раз спасибо CAPAXA за расшифровку файла.
 
Последнее редактирование:
Активатор для шаблонов Лайтшоп и Техникс
Активатор для шаблонов Лайтшоп и Техникс под любую версию PHP и Opencart (Ocstore). Основная часть файлов шаблона остается закодированной Ioncube, поэтому установка расширения Ioncube для работы обязательна.

Устанавливается через установщик расширений. После загрузки архива шаблона, устанавливаем 899themes_activator.ocmod.zip.
Активация полностью автоматическая.

После установки рекомендуется перейти в папку /admin/controller/extension/heme/lclient и удалить все содержимое, кроме файла checker.php Для версий выше 1.3.1 не удалять. Там теперь файлы контроллера для разных версий PHP.
Обновлено 07.06.2021:
  • при каждом входе на страницу настроек происходит переактивация шаблона, что приводит к обновлению времени последнего изменения "Update_time" таблицы "technics_key". Это устраняет блокировку редактирования главного меню.
Руководствуясь каким-то тараканами в своей голове, автор создал тупую проверку на время последнего обновления таблицы. Не смотря на то, что это проблемный запрос, который не дает четкого результата. В операционной системе Windows поле Update_time не изменятся при запросах UPDATE. UPDATE_TIME отображает значение NULL для таблиц InnoDB в старых версиях MySQL. При недоступности сервера лицензий в течении 20 дней пользователи получат блокировку редактирования меню. Автор наверно думает, что он бессмертный или какой-то небожитель и его сервер лицензирования тоже относиться к этим категориям.
 
Последнее редактирование:
Привет, в техниксе по поводу 20 дней и настроек меню, вот поменял код в technics_add.php , как ты написал, и ничего не изменилось, модификаторы обновлял, кэши чистил..может чего не так сделал?
Привет, проверь пожалуйста все еще раз, если все таки не работает то напиши мне в личку дам контакты, будем вместе разбираться
 
Правка кода отвечающего за проверку времени последнего изменения поля таблицы в technics_add.php проблему меню решает. Как и обновленный активатор, который перезаписывает ключ при каждом входе в настройки шаблона.
 
Всем привет раскодировал часть кода для версии technics111
Скрытое содержимое. Вам нужно войти или зарегистрироваться.

Еще заметил, кто патчем фиксил шаблон (именно 111), он вроде как работает потом вдруг отпадывает,
скорее всего на каком то этапе код шаблона лезет в таблицу oc_technics_key и меняет дату патча, и во многих участках кода стоит проверка,даты должны расходится более чем на 20 дней

мораль в таблице oc_technics_key.date_added ставьте всегда год примерно 2018 - тогда весь функционал в шаблоне начинает работать (фикс работает только на версии 111, за другие не знаю)
 
Последнее редактирование:
Еще заметил, кто патчем фиксил шаблон (именно 111), он вроде как работает потом вдруг отпадывает,
скорее всего на каком то этапе код шаблона лезет в таблицу oc_technics_key и меняет дату патча, и во многих участках кода стоит проверка,даты должны расходится более чем на 20 дней
Все немножко не так. Скорее всего проверка лицензии настроена на период до 20 дней. Как срок истечет происходит обращение к серверу лицензий. Происходит смена ключа при этом происходит изменение времени UPDATE_TIME таблицы. Это значение берется из information_schema

PHP:
$querys = $this->db->query("SHOW TABLE STATUS FROM `" . DB_DATABASE . "` LIKE '" . DB_PREFIX . "technics_key'");
if ($querys->num_rows) {
    if ($querys->row["Update_time"]) {
        $update = strtotime($querys->row["Update_time"]);
        $current = strtotime("-20 day");
        if ($update < $current) {
            return $json;
        }
...
 
кстати да, не прав, еще дописал хак на этот счет в файл
Там условие на то что если запись о лицензии в таблице technics_key не обновлялась более 20 дней - шаблон падает в "осадок"

\catalog\controller\extension\module\technics\header_add.php


PHP:
if (!function_exists("array_column")) {
}
$data["outdated_browser"] = $this->language->get("outdated_browser");
$data["text_search"] = $this->language->get("text_search");
$data["text_forgotten"] = $this->language->get("text_forgotten");
$data["forgotten"] = $this->url->link("account/forgotten", "", true);
$data["js_footorhead"] = $this->config->get("theme_technics_js_footorhead");
$data["open_graph"] = $this->config->get("theme_technics_og");
//-->> Nulled technics
$querys = $this->db->query("SHOW TABLE STATUS FROM `" . DB_DATABASE . "` LIKE '" . DB_PREFIX . "technics_key'");
if ($querys->row["Update_time"]) {
    $update = strtotime($querys->row["Update_time"]);
    $current = strtotime("-2 day");
    if ($update < $current) {
        $this->db->query("UPDATE " . DB_PREFIX . "technics_key set date_added = NOW() WHERE `key`='local_key'");
    }
}
//--<< Nulled technics

$navTypes = ["main_navs", "main_navs_v", "header_navs"];
foreach ($navTypes as $navType) {
    if (isset($navType)) {
        $navsort = array_column(${$navType}, "sort");
        array_multisort($navsort, SORT_ASC, ${$navType});
        $data[$navType] = ${$navType};
        foreach ($data[$navType] as $key => $main_nav) {
            foreach ($main_nav["type"] as $key1 => $typeLink) {
                if (isset($main_nav["type"][$key1]["links"])) {
                    foreach ($main_nav["type"][$key1]["links"] as $key2 => $link) {
                        if (strpos($link, ":") !== false) {
                            $data[$navType][$key]["type"][$key1]["links"][$key2] = current($data["top_links"][$key2]);
                        } else {
                            $data[$navType][$key]["type"][$key1]["links"][$key2] = $this->url->link($link);
                        }
                    }
                }
            }
        }
    }
}
 
Назад
Верх