Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

controll

Newbie
  
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

627 profile views

controll's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputation

  1. в прошлой версии ocstore 3.0.2 его вообще не было в этом месте
  2. Правильно , я то же в это русло начал думал, но у меня возник вопрос , насколько он нужен вообще этот аякс в таком виде? Смотря с какой целью , то может его как то после проверки на пост запрос запускать только? ЗЫ Если он точно нужен там, то да проще всего в контроллер добавить api_key /
  3. Спасибо, data: 'key={{ api_key }}', я убрал сначала, забыл вернуть обратно, так как оно тоже непонятно откуда приходит {{ api_key }} , ее ведь нигде не объявлено в контроллере. Вопрос с первого поста остается актуальной, для чего вызов этого апи запроса при переходе на страницу заказа
  4. Добрый день, растолкуйте плиз кусок кода в новой сборке по адресу admin/view/template/sale/order_info.twig var api_token = ''; $.ajax({ url: '{{ catalog }}index.php?route=api/login', type: 'post', dataType: 'json', crossDomain: true, success: function(json) { $('.alert').remove(); if (json['error']) { if (json['error']['key']) { $('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error']['key'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>'); } if (json['error']['ip']) { $('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error']['ip'] + ' <button type="button" id="button-ip-add" data-loading-text="{{ text_loading }}" class="btn btn-danger btn-xs pull-right"><i class="fa fa-plus"></i>{{ button_ip_add }}</button></div>'); } } if (json['token']) { api_token = json['token']; } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); для чего нужен вызов api при загрузке страницы заказа сразу, в котором нет пост запроса? сразу страница выдает ошибку, что логично , ведь нет пост запроса то. Или я что-то не понимаю? Ни у кого ошибка не вылазит? Подскажите пожалуйста
  5. ***** это просто контора по сдиранию денег из своего опыта. Даже при покупке "открытого кода" написано мелким шрифтом - кроме моделей. Как бы да, сами виноваты, что не заметили, про пометку. Но у ребят окаалось , что понимание mvc полностью соответствует требованиям их кошелька, в контроллере только и есть вызовы методов , а методы со своей логикой удачно скрыты в моделях под ионкуб. Вот и получается любая ошибка , любой нюанс скрыт от ваших глаз. И тут при требовании хоть как то растолковать свой модуль приходит платная поддержка минимум 38$ , чтобы консультировать добровольно принудительно, иначе пишите письма, долго будете писать. Так что подумаете 10 раз перед тем как купить у них чтото.
  6. Добрый день, как бы оптимизировать шаблон чтобы было более менее норм показатель . страшно блокирует пейджспид почти до 20 пунктов <link href="min/cache/f44fd2accedcfb80165083df702e79db.css?v=1.6.5" rel="stylesheet" media="screen" /> <script src="min/cache/624cc11841f23dcac3a7e2907225144b.js?v=1.6.5"></script>
  7. UPD Написал, а после заметил ваш вариант. Я пошел немного другим путем action.php private $namespace = DIR_APPLICATION; public function __construct($route, $namespace = false) { $this->id = $route; switch ($namespace){ case 'admin': case 'catalog': $this->ns = DIR_PATH . $namespace . '/'; break; } ................................ public function execute($registry, array $args = array()) { // Stop any magical methods being called if (substr($this->method, 0, 2) == '__') { return new \Exception('Error: Calls to magic methods are not allowed!'); } $file = $this->namespace . 'controller/' . $this->route . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $this->route); ................................ в loader.php public function controller($route, $data = array(), $namespace = false) { // Sanitize the call $route = preg_replace('/[^a-zA-Z0-9_\/]/', '', (string)$route); // Keep the original trigger $trigger = $route; // Trigger the pre events $result = $this->registry->get('event')->trigger('controller/' . $trigger . '/before', array(&$route, &$data)); // Make sure its only the last event that returns an output if required. if ($result != null && !$result instanceof Exception) { $output = $result; } else { $action = new Action($route, $namespace); $output = $action->execute($this->registry, array(&$data)); } ........................................ и всё, можно вызвать везде при необходимости $this->load->controller('common/search', array(), 'catalog'); ну или любой другой. Третий параметр по желанию, остальному коду не мешает. PS в конфигах у меня всегда есть DIR_PATH на public_html , не знаю почему такого нет, мне всегда ее не хватает )))). Желательно это всё в ocmod
  8. Спасибо ), получил. Что-то мне казалось все более сложно, копал целый день до этого, не мог уловить момент с определением админ или каталог, неопытность ))
  9. Согласен, но там данные так запутанно достаются с бд , выборка замудренная с нескольких таблиц, чтобы сказать я асс в этом то нет. хочется просто вызвать и забыть)). насчет runkit не слышал, спасибо попробую, второй способ оригинально, ) но ненастолько силен, чтобы одолеть. Как понимаю в лоадер передать третий параметр, но не могу понять где регистр переопределить с помощью этого параметра.
  10. вызвать метод контроллера из админки в контроллере каталога)))))
  11. Прошу не кидаться тапками. Читал не мало , понимаю что принципе невозможно, но сложилась ситуация, очень нужно получить данные из контроллера админ части в контроллер каталога. Есть какой то костыль или какой то способ это сделать? версия 3.0.2 окстор. Подскажите варианты плиз, перечитал немало когда то во второй версии был случай , такое делалось . В третьей перебрал всю церочку работы движка, насколько понимаю, не получается у меня. ((
  12. Спасиб большое ))), сработало. curl_error вернул Illegal characters found in URL Оказалось при вытаскивания токена в конце притаился пробел, изза этого не работала ссылка. Обернул в trim еще. PS. Насчет в каталог , не совсем то, так как вызванный метод это вход для работы с заказами, неудобно будет ))
  13. к сожалению вопрос с вызовом нужного метода остался после авторизации и получения токена,, все равно не получается запустить этот метод. возвращается не ошибок , ничего. буду признателен помощи. Уже сил нет, помогите плиз function login($url,$login,$pass){ $value = [ 'username' => $login, 'password' => $pass ]; $ch = curl_init(); if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $value); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, '/home/site/tmp/cookie.txt'); $result=substr(strrchr(curl_exec($ch), '='), 1 ); curl_close($ch); return $result; } function read($url){ $ch = curl_init(); if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); } curl_setopt($ch, CURLOPT_URL, $url); // откуда пришли на эту страницу curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET (для простоты, хотя в дальнейшем нужно будет post) curl_setopt($ch, CURLOPT_POST, 0); //отсылаем серверу COOKIE полученные от него при авторизации curl_setopt($ch, CURLOPT_COOKIEFILE, '/home/site/tmp/cookie.txt'); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4"); $result = curl_exec($ch); curl_close($ch); } $token = login('https://site/admin/index.php?route=common/login', 'login', 'pass'); $url = 'https://site/admin/index.php?route=extension/analitycs/getUpdate&token='.$token; $result= read($url); print_r = $result
  14. может кому интересно будет, CURLOPT_POSTFFIELDS нужно параметр в виде массива, в таком случае заголовок Content-Type будет установлен в значение multipart/form-data . Тогда авторизация проходит, иначе нет.
  15. function login($url,$login,$pass){ $ch = curl_init(); if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,"login=".$login."&pass=".$pass); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, '/home/site/tmp/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, '/home/site/tmp/cookie.txt'); $result=curl_exec($ch); curl_close($ch); return $result; } Что-то ниичего не понимаю ((( . Вот для захода код, все равно возвращает страницу логина. Тыкните пожалуйста , что не так. Запрос на страницу "https:/site.ru/admin/index.php"
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.