[Soft] ImageCMS Shop Premium

Кто имеет версию 4.5? На оф. сайте я её не наблюдаю. Поделитесь :3
 
Для особо умных разшифровка ShopAdminController
сравните его с тем что я выложил в посте №232 и проверти работает ли выложенный мной нул в посте № 233 в версии 4.5 Stable. Для особо умных и мозговитых выложу повторно ссылку на нул с поста №233
Для просмотра ссылки Войди или Зарегистрируйся


PHP:
?><?php

/**
* ShopAdminController
*
* @uses Controller
* @package
* @version $id$
* @[USER=294783]CopyRight[/USER] 2010 Siteimage
* @author <dev@imagecms.net>
* @license
*/
class ShopAdminController extends MY_Controller {

    public $baseAdminUrl = '/admin/components/run/shop/';
    public $shopThemeUrl = '/application/modules/shop/admin/templates/assets/';
    public $pjaxRequest = false;

    public function __construct() {
        parent::__construct();

        $lang = new MY_Lang();
        $lang->load('admin');

        if (isset($_SERVER['HTTP_X_PJAX']) && $_SERVER['HTTP_X_PJAX'] == true) {
            $this->pjaxRequest = true;
            header('X-PJAX: true');
        }

        Permitions::checkPermitions();
        $this->autoloadModules();
        // Don't apply discounts in admin part.
        ShopCore::$SHOP_APPLY_DISCOUNTS = false;

        // Init main currency as default.
        ShopCore::app()->SCurrencyHelper->initCurrentCurrency('main');
        $this->template->add_array(array(
            'ADMIN_URL' => $this->baseAdminUrl,
            'SHOP_THEME' => $this->shopThemeUrl,
            'CS' => ShopCore::app()->SCurrencyHelper->getSymbol(),
            'Controller' => $this,
        ));
    }

    /**
    * Display rendered template file.
    *
    * @[USER=314738]param[/USER] string $viewName name of template file to display.
    * @[USER=314738]param[/USER] array $data template data
    * @[USER=318263]access[/USER] public
    * @[USER=273296]Return[/USER] string if $return is set to true
    */
    public function render($viewName, array $data = array(), $return = false) {
        if (!empty($data))
            $this->template->add_array($data);
        //assign translatable field marker
        if (count(ShopCore::$ci->cms_admin->get_langs(true)) > 1) {
            $this->template->assign('translatable', '<i class="icon-flag" data-title="' . lang('Translate', 'admin') . '"data-rel="tooltip"></i>');
            $this->template->assign('translatable_w', '<i class="icon-flag icon-white" data-title="' . lang('Translate', 'admin') . '"data-rel="tooltip"></i>');
        }

        if ($this->pjaxRequest)
            echo $this->template->fetch('file:' . $this->getViewFullPath($viewName));
        else
        //$this->template->show('file:' . $this->getViewFullPath($viewName));


        if ($return === false)
            $this->template->show('file:' . $this->getViewFullPath($viewName));
        else
            return $this->template->fetch('file:' . $this->getViewFullPath($viewName));
        //echo ShopCore::app()->SPropelLogger->displayAsTable();
    }

    /**
    * Create full path to template file based on class name and view file name.
    *
    * @[USER=314738]param[/USER] string $viewName
    * @[USER=318263]access[/USER] public
    * @[USER=273296]Return[/USER] string
    */
    public function getViewFullPath($viewName) {
        // Remove "ShopAdmin" from controller name
        $controllerName = str_replace('ShopAdmin', '', get_class($this));

        // Make first charater lowercase
        $controllerName{0} = strtolower($controllerName{0});

        switch (substr($_SERVER['SERVER_ADDR'], 0, strrpos($_SERVER['SERVER_ADDR'], '.'))) {
            case '127.0.0':
            case '127.0.1':
            case '10.0.0':
            case '172.16.0':
            case '192.168.0':
                $on_local = true;
                break;
        }

        if ($on_local !== true || (strtolower(end(explode('.', $_SERVER[HTTP_HOST])) !== 'loc'))) {

            $msg = base64_decode('PGRpdiBpZD0ibm90aWNlX2Vycm9yIj7QntGI0LjQsdC60LAg0L/RgNC+0LLQtdGA0LrQuCDQu9C40YbQtdC90LfQuNC4LjwvZGl2Pg==');
            $msgTest = base64_decode('0KHRgtGA0L7QuiDRgtC10YHRgtC+0LLQvtC5INC70LjRhtC10L3Qt9C40Lgg0LjRgdGC0LXQug==');

            $flPath = realpath(dirname(__FILE__) . '/../' . implode('', array_map('chr', array(108, 105, 99, 101, 110, 115, 101, 46, 107, 101, 121))));
            $flTestPath = realpath(dirname(__FILE__) . '/../' . str_replace('www.', '', $_SERVER[HTTP_HOST]) . '.key');

            if (!$this->ajaxRequest) {
                $this->template->assign('content', $msg);
                $this->template->assign('content', $msgTest);
                $msg = $this->template->fetch('main');
                $msgTest = $this->template->fetch('main');
            }

            if (!file_exists($flPath))
                if (!file_exists($flTestPath))
                    die($msg);

            if (file_exists($flTestPath)) {
                $time = file_get_contents($flTestPath);
                $time = explode('0xD', $time);
                $time = array_map('chr', $time);
                $time = array_reverse($time);

                for ($i = 0; $i < 10; $i++) {
                    $a .= $time[$i + 120];
                }
                $a = str_replace(array('q', 'w', 'e', 'r', 't', 'b', 'v', 's', 'd', '"'), array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0), $a);

                if ((int) $a > time()) {
                    $test = TRUE;
                } else {
                    die($msgTest);
                }
            }
            if (IMAGECMS_NUMBER == '4.5 Premium')
                $domain = sha1(str_replace('www.', '', $_SERVER['HTTP_HOST']));
            elseif (IMAGECMS_NUMBER == '4.5 Professional')
                $domain = md5(str_replace('www.', '', $_SERVER['HTTP_HOST']));
            elseif (!$test)
                die($msg);
//            else
//                die($msg);

            if (!$test) {

                $chars = array();

                for ($i = 0; $i < strlen($domain); $i++)
                    array_push($chars, $domain{$i});

                $chars = array_map('ord', $chars);
                $chars = array_map('base64_encode', $chars);
                $chars = array_reverse($chars);
                $result = implode('0xD', $chars);

                $key = trim(file_get_contents($flPath));

                if ($result != $key)
                    die($msg);
            }
        }

        // Create full path to template file
        $ext = '';
        if (strpos($viewName, '.tpl'))
            $ext = '.tpl';

        return SHOP_DIR . 'admin' . DS . 'templates' . DS . $controllerName . DS . $viewName . $ext;
    }

    /**
    * Create url to admin controller.
    *
    * Example: $this->createUrl('categories/edit',array('id'=>10)), will return
    * /admin/components/run/shop/categories/edit/10
    *
    * @[USER=314738]param[/USER] string $url
    * @[USER=314738]param[/USER] array $args
    * @[USER=318263]access[/USER] public
    * @[USER=273296]Return[/USER] string
    */
    public function createUrl($url, array $args = array()) {
        $url = $this->baseAdminUrl . $url;

        if (!empty($args))
            $url.='/' . implode('/', $args);

        return $url;
    }

    /**
    * Show 404 page
    *
    * @[USER=314738]param[/USER] string $message Error message
    *
    * @[USER=318263]access[/USER] public
    */
    public function error404($message) {
        $this->template->assign('message', $message);
        $this->template->show('404');
        exit;
    }

    /**
    * Update admin html block
    *
    * @[USER=314738]param[/USER] string $url
    * @[USER=318263]access[/USER] public
    */
    public function ajaxShopDiv($url, $div = false) {
        if (!$div) {
            echo '
        <script type="text/javascript">
            ajaxShop("' . $url . '");
        </script>
        ';
        } else {
            echo '
        <script type="text/javascript">
            ajaxShopDiv("' . $url . '");
        </script>
        ';
        }
    }

    private function autoloadModules() {
        /** Search module with autoload */
        $query = $this->db
                ->select('name')
                ->where('autoload', 1)
                ->get('components');

        if ($query) {
            $moduleName = null;
            /** Run all Admin autoload method */
            foreach ($query->result_array() as $module) {
                $moduleName = $module['name'];
                Modules::load_file($moduleName, APPPATH . 'modules' . DIRECTORY_SEPARATOR . $moduleName . DIRECTORY_SEPARATOR);
                $moduleName = ucfirst($moduleName);
                if (class_exists($moduleName)) {

                    if (method_exists($moduleName, 'adminAutoload')) {
                        $moduleName::adminAutoload();
                    //  self::$detect_load_admin[$moduleName] = 1;
                    }

                }
            }
        }
    }

}
 
У когонибуть появилась проблема с корзиной и рейтингом в товаре? У меня почему то корзину вообще не открывает, а там где должен быть рейтинг вечное мигание подгрузки.
 
у
У когонибуть появилась проблема с корзиной и рейтингом в товаре? У меня почему то корзину вообще не открывает, а там где должен быть рейтинг вечное мигание подгрузки.
у меня корзина всё окей ...а вот это No ...мигает
 
у

у меня корзина всё окей ...а вот это No ...мигает
у меня же почему то корзина вообще не открывается, пока грешу на хостера, попробую на другом хостинге протестить
 
Подскажите, как удалить из админки "Новости системы ImageCMS"?
 
Проблему с корзиной решил сменой хостера, но появилась новая проблема, после трех часовой работы над дизайном сайта появилась ошибка(белое окно с просьбой перезагрузить страницу), в итоге ни в админку ни на сайт попасть не могу(( на форуме смотрел, там советуют выполнить несколько запросов в базе данных, но увы ничего не помогло( может кто сталкивался с такой проблемой?
 
Назад
Сверху