[Помогите] Ошибка Парсер МХ

Тема в разделе "OpenCart", создана пользователем MGT1, 9 май 2016.

  1. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    Warning: extract() expects parameter 1 to be array, boolean given in parsemx/license/title.php on line 4


    • $host = @$_GET['im'];
      extract(unserialize($_POST['data']));

      Warning: Invalid argument supplied for foreach() in parsemx/license/title.php on line 34
    ul data-role="listview">
    <?php foreach($donors as $donor){$id=$donor['donor_id'];

    $good=true;

    $date=true;

    ?>
    <li>

    PHP:
    <?php

    $host 
    = @$_GET['im'];
    extract(unserialize($_POST['data']));

    // Random to disable JQM Caching
    function u() {
        echo 
    "index.php?rd=".rand(1,10000000)."&route=";
    }

    ?>

    <div>

    </div>

    <?php if ($host=='localhost') { ?>
        <div style="background-color: #ffd5c2; padding: 5px;">
            Автоматический парсинг не будет работать на <b>localhost</b>
        </div>
    <?php ?>

    <h2>Сайты-доноры <font color="grey">для <?php echo $host  ?></font>

        <a href="<?php u() ?>howcron" title="Как настроить?" id="nocron" style="float:right; font-size: 10px; color: grey; display:none">Запуск CRON: не настроен</a>
        <span id="yescron" style="float:right; font-size: 10px; color: green; display:none">Запуск CRON: OK</span>

    </h2>


    <br/>

    <ul data-role="listview">
        <?php foreach($donors as $donor){$id=$donor['donor_id'];



                            
    $good=true;

                            
    $date=true;

        
    ?>
            <li>

                <h3 style="font-size: 20px; margin:0px; height: 55px">
                    <span style="float:left">
                        <div style="width: 210px; display: inline-block; overflow: hidden">
                    <?php
                        
    if (strlen($donor['host'])>201)
                            echo 
    substr($donor['host'],0,18).'<span style="color:grey">...</span>';
                        else echo 
    $donor['host'?>
                        </div>
                        <a id="l<?php echo $id  ?>" data-role="button" data-inline="true" data-mini="true" data-icon="grid" data-theme="c"
                           <?php if ($good) { ?>
                            href="<?php u() ?>tasks&id=<?php echo $donor['donor_id'?>"
                           <?php } else { ?>
                               class="ui-disabled"
                            <?php ?>
                            >Задачи</a>
                    <a id="s<?php echo $id  ?>" data-role="button" rel="external" data-inline="true" data-mini="true" data-icon="page" data-theme="c" href="<?php u() ?>script&id=<?php echo $donor['donor_id'?>">Скрипт</a>
                    <a data-role="button" data-inline="true" data-mini="true" data-icon="gear" data-theme="c" href="<?php u() ?>settings&id=<?php echo $donor['donor_id'?>">Настройки</a>
                    </span>
                    <span style="float:right">

                        <?php



                        
    if ($good) {
                             echo 
    "
                <script type='text/javascript'>"
    ;
                    if (!
    strpos($donor['host'],'ookup.me'))
                    echo 
    "
                    $('#l
    $id').attr('href',$('#l$id').attr('href')+'&il=15');
                    $('#s
    $id').attr('href',$('#s$id').attr('href')+'&il=15');";
                echo 
    "</script><div style='text-align:right;'>";
                if (
    $host!='localhost') echo "
                <a data-role='button' id='go
    $id' data-inline='true' data-mini='true' data-icon='play' data-theme='b' style='display: none'
                                onclick='
                                        $(\"#go
    $id\").hide();
                                $.post(\"live.php?command=start&id=
    $id\",false, function(data) {
                                        $(\"#go
    $id\").hide();
                                        $(\"#stop
    $id\").show();
                                });
                                '>Пуск</a>
                        <a data-role='button' id='stop
    $id' data-inline='true' data-mini='true' data-icon='stop' data-theme='a' style='display: none'
                           onclick='
                                   $(\"#stop
    $id\").hide();
                                   $.post(\"live.php?command=stop&id=
    $id\",false, function(data) {
                                   $(\"#stop
    $id\").hide();
                                   $(\"#go
    $id\").show();
                                   });
                                   '>Стоп</a>"
    ;

                                   }

                        
    ?>

                    </span>
                </h3>
                <div id="<?php echo $donor['donor_id'?>" style="margin-top:-10px; font-size:11px; font-weight: normal; min-height:43px;">&nbsp;</div>
            </li>
        <?php ?>
    </ul>

    <br /> <br />
    <a data-transition="slideup" data-theme="b" data-role="button" data-icon="plus" data-inline="true" href="<?php u() ?>settings">Добавить донора</a>
    <a data-transition="slideup" data-role="button" data-icon="grid" data-inline="true" href="<?php u() ?>log">Лог</a>
    <?php if ($version>='1.24') { ?>
        <a data-transition="slideup" data-role="button" data-icon="search" data-inline="true" href="<?php u() ?>replace">Замены</a>
    <?php ?>

    <a style="float:right; margin-top:13px" data-transition="slideup" data-mini="true" rel="external" data-role="button" data-icon="delete" data-inline="true" href="<?php u() ?>title&amp;clearcache=1">Очистить кеш</a>

    <br /> <br />
    <div id="translation">

    </div>
    <br /> <br />
    <a style="display:none" rel="external" id="clear_trans" data-transition="slideup" data-role="button" data-mini="true" data-inline="true" data-icon="delete" data-theme="a" href="<?php u() ?>title&reset_trans=1">Удалить все данные перевода</a>

    <script type="text/javascript">
        <?php  ?>

        function UpdateDonors()
        {
            $.get('live.php?command=donors',false, function(data) {
                $.each(data['donors'], function(index, value) {
                    $('#'+index).empty().append(value['text']);
                    if (value['state']) {
                        $('#go'+index).hide();
                        $('#stop'+index).show();
                    } else {
                        $('#go'+index).show();
                        $('#stop'+index).hide();
                    }
                });
                $('#translation').html(data['translation']);
                if (data['translation'] && !data['work']) $('#clear_trans').show(); else $('#clear_trans').hide();
                if (data['cron'])
                { $('#nocron').hide(); $('#yescron').show(); }
                else { $('#yescron').hide(); $('#nocron').show(); }
                if ((!data['cron']) && (data['work'])) jQuery.ajax('locker.php?noidle=1');
            },"json").fail(function() {
                    <?php if (@!$reload) { ?>
                    window.location.reload();
                    <?php ?>
                });
        }

        //$(document).ready(function(){UpdateDonors()})
        // ALLOK
    </script>
    --- Добавлено, 9 май 2016 ---
    Примерную суть ошибки понял.
    Установлен паладин, который вносит изменения в направляющие в систем. Попробуем тогда вариант парсить на чистом опенкарте а с него делать выгрузку)
    --- Добавлено, 9 май 2016 ---
    НЕт оказалось не то.....

    Установка на чистый ОК 1.5.6.4 не помогла...
    --- Добавлено, 9 май 2016 ---
    По-ходу с нуллом что-то не то (демо версия установилась гуд)
     
    Lasted edited by : 9 май 2016
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Суть ошибки в том, что $_POST['data'] должен быть массивом, но там true или false. Надо в консоли браузера посмотреть, что на сервер отправляется.

    Откуда этот POST отправляется, в смысле с какой страницы?
     
  3. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    MGT1, думаю, проблема из-за того, что там и не должно изначально быть этого POST.

    Для начала можно заменить
    PHP:
    extract(unserialize($_POST['data']));
    на
    PHP:
    if(isset($_POST) && !empty($_POST['data']))){
        
    extract(unserialize($_POST['data']));
    }

    И смотреть, как оно будет работать.
     
    Последнее редактирование: 9 май 2016
  5. MGT1

    MGT1

    Регистрация:
    5 янв 2013
    Сообщения:
    900
    Симпатии:
    218
    короче ошибка из за использования поддомена.