Помогите с ошибкой в скрипте wallpaper script

Тема в разделе "PHP", создана пользователем Mitchellzzz, 22 дек 2011.

Модераторы: latteo
  1. Mitchellzzz

    Mitchellzzz Создатель

    Регистр.:
    7 янв 2009
    Сообщения:
    47
    Симпатии:
    1
    Есть скрипт wallscript 3.50059 Перейти по ссылке При загрузке фото выдает ошибку
    Warning: Invalid argument supplied for foreach() in /.....ru/includes/ws.php on line 934
    Код:
    foreach ($mainResolutions as $k=>$v)
            {
                $width = $v["width"];
                $height = $v["height"];
                if ($arr_fileData[0]<$width) continue;
                if (abs($ratio - number_format($width/$height,2))>0) continue;
                $thumbnailPath = WALLPAPERS_PATH.$file_prefix.URL_TOKEN_SEPARATOR.$width."x".$height.".jpg";
                @unlink($thumbnailPath);
                if (GENERATE_IMAGES_UPLOAD==1)
                {
                    $forceResize = false;
                    if (abs($ratio - number_format($width/$height,2))>0) $forceResize = true;
       
                    $resizer = new Thumbnail($fullsizePath);
                    if(isset($resizer->invalid))
                    {
                        $siteError->add($LANG->l('Error upload resize for %s',  array('p1' => $sourceFile)),"error");
                        return false;
                        //redirect();
                    }
                   
                    $resizerOut = $resizer->resize($width, $height, $width, $height, "#FFFFFF", $forceResize);
                    if ($resizerOut!==false)
                        $resizer->save($thumbnailPath);
                    else
                    {
                        $siteError->add($LANG->l('Error resize process for %s',  array('p1' => $sourceFile)),"error");
                        return false;
                    }
                    unset($resizer);
                }
    Warning: Cannot modify header information - headers already sent by (output started at /.....ru/includes/ws.php:934) in /.....ru/includes/php_functions.php on line 50

    Код:
    header("Location: $url");
        exit();
    }
     
    if( !function_exists('scandir') ) {
        function scandir($directory, $sorting_order = 0) {
            $dh  = opendir($directory);
            while( false !== ($filename = readdir($dh)) ) {
                if ($filename!='.' and $filename!='..')
                    $files[] = $filename;
            }
            if( $sorting_order == 0 ) {
                sort($files);
            } else {
                rsort($files);
            }
            return($files);
        }
    }
    
    Ну и если кто поможет символические 2 вмз в качестве "спасибо" получит )))

     
  2. V I R U S

    V I R U S Постоялец

    Регистр.:
    6 апр 2007
    Сообщения:
    94
    Симпатии:
    25
    PHP:
    header("Location: $url");
        exit();
    }
    Вот это вообще бред сивой кобылы. Особенно скобка в конце...
     
    Mitchellzzz нравится это.
  3. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    в конструкцию foreach() не загружена переменная $mainResolutions или она пустая (эта переменная по ходу подгружается из другого файла и объявлена как global...)
    да и перепроверьте ещё раз свою информацию... в скрипте по Вашей ссылке несколько иное содержание файлов, чем показанные участки кода... Возможно скрипт обновился и там уже исправлены все ошибки.

    это не бред, это просто не полностью показанный участок кода... на самом деле там
    PHP:
    function redirect($url="")
    {
        global 
    $siteError$_SESSION$GLOBALS;
        if (
    $url=="")
        {
            
    $url $_SERVER["REQUEST_URI"];
        }
        
    $_SESSION["site_errors"] = $GLOBALS["glb_site_errors"];
       
        
    header("Location: $url");
        exit();
    }
     
    Mitchellzzz нравится это.
  4. lost

    lost Постоялец

    Регистр.:
    15 фев 2007
    Сообщения:
    58
    Симпатии:
    31
    Скорее всего не передается переменная
    PHP:
    mainResolutions
    Проверь, передаются ли все необх. данные в
    PHP:
    $_SERVER
    . Или установи дефолтное значение этой переменной прямо в скрипте.
     
    Mitchellzzz нравится это.
  5. Mitchellzzz

    Mitchellzzz Создатель

    Регистр.:
    7 янв 2009
    Сообщения:
    47
    Симпатии:
    1
    друзья всем спасибо - проблему решил путем установки w-script )) есть заморочка, хочу в тэгах исключить некоторые цифры и наоборот внести в тэги постоянные слова. вот сам файл вроде он table_tags
    Код:
    <table width="100%" class="sortable-onload-1 rowstyle-alt no-arrow mytables">
        <thead>
            <tr>
                <th class="sortable-numeric" width="15">Nr.</th>
                <th class="sortable-text left">{'tag'|@Lang}</th>
                <th width="60">{'options'|@Lang}</th>
            </tr>
        </thead>
    {counter start=$CI->uri->segment(4,0) print=0}
    {foreach from=$query item=row}       
        <tr>
            <td>{counter}</td>
            <td class="left">{$row->tag|stripslashes}</td>
            <td width="60">
                <select name="option" onChange="MM_jumpMenu('parent',this,0)">
                    <option>----------</option>
    {if $CI->permissions->checkPermissions(array(41))}
                    <option value="{"tags/options/delete/`$row->ID`"|@site_url}">{'delete'|@Lang}</option>
    {/if}
                </select>
            </td>
        </tr>
    {foreachelse}
        <tr>
            <td colspan="6">{'no_tags'|@Lang}</td>
        </tr>
    {/foreach}
    </table>