Помощь Помогите с функцией

Тема в разделе "DLE", создана пользователем Lion18, 17 авг 2010.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Lion18

    Lion18

    Регистр.:
    28 июл 2010
    Сообщения:
    198
    Симпатии:
    10
    Хочу сделать так.
    Когда добавляется статья(В моем случае рецепт)
    На странице добавления сделать строку с загрузкой изображения с харда на сервер.Чтоб была возможность проверки допустимого разрешения и формата файла
    Помогите реализовать.
    Эта картинка будет заглавной обложкой.
     
  2. penguen

    penguen

    Регистр.:
    7 янв 2007
    Сообщения:
    825
    Симпатии:
    95
    Так в настройках СМС реализовано же
     
  3. Lion18

    Lion18

    Регистр.:
    28 июл 2010
    Сообщения:
    198
    Симпатии:
    10
    Черт я ненашел.
    Где?Помогите пожалуста...
     
  4. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    В форме загрузки изображений. Поищи на панеле BB кодов.
     
  5. Luxxus-Russe

    Luxxus-Russe Постоялец

    Регистр.:
    6 апр 2009
    Сообщения:
    99
    Симпатии:
    47
    в панеле bb кодов есть иконочка с изображением маленькой "папочки" нажимаете на неё и всё... там выбираете откуда будет грузиться картинка...

    если с харда то выбирайте его если с чужого сервера, пропишите ссылочку/и
     
  6. Lion18

    Lion18

    Регистр.:
    28 июл 2010
    Сообщения:
    198
    Симпатии:
    10
    А.Это ясно.Только мне нужна другая весчь.Без ббкода.
    Таесть так

    Обложка материала: (Здесь пустое поле.(Классно если в это поле сделать еще возможность вбить ссылку картинки)) (Кнопка обзора для загрузки с харда.)

    Если не понятно обьяснил.Давайте картинку дам...

    Зарание спасибо...
     
  7. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Делай доп поле и можешь вбивать ссылки.
     
  8. Lion18

    Lion18

    Регистр.:
    28 июл 2010
    Сообщения:
    198
    Симпатии:
    10
    Это понятно.Ладно
    Хочу реализовать точно так:
    [​IMG]
    Как мне убрать панель ббкодов только в одном доп.поле?Пример:
    [​IMG]
     
  9. Lion18

    Lion18

    Регистр.:
    28 июл 2010
    Сообщения:
    198
    Симпатии:
    10
    Может кто поможет.)Наверно забыли про меня
     
  10. -=wins=-

    -=wins=- Постоялец

    Регистр.:
    20 май 2007
    Сообщения:
    67
    Симпатии:
    15
    Сам долго искал такое.
    Нашел решение на форуме 4дле, автор toxx
    1. В addnews.tpl (в шаблоне) добавить
    Код:
     <tr>
                          <td width="118.5" height="25" nowrap="nowrap">Загрузить постер:</td>
                            <td><input type="file" name="post_add" maxlength="250" class="f_input" /></td>
                          </tr>
    2. Добавить в addnews.php (modules) после if( trim( $short_story ) == "" or ! $short_story ) $stop .= $lang['add_err_5'];
    Код:
     $allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
            if ((isset($_FILES['post_add']) && $_FILES['post_add']!='')) {
                $file_prefix = time() + rand( 1, 100 );
                $file_prefix .= "_";
                define( 'FOLDER_PREFIX', date( "Y-m" ) );
            if( ! is_dir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX ) ) {
                @mkdir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX, 0777 );
                @chmod( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX, 0777 );
                @mkdir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/thumbs", 0777 );
                @chmod( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/thumbs", 0777 );
            }            
                $config_path_image_upload = ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/";
                $current_image = 'post_add';
                $image = $_FILES[$current_image]['tmp_name'];
                $image_name = $_FILES[$current_image]['name'];
                $image_size = $_FILES[$current_image]['size'];
                $error_code = $_FILES[$current_image]['error'];
                $img_name_arr = explode( ".", $image_name );
                $type = totranslit( end( $img_name_arr ) );
                if( $image_name != "" ) {
                    $curr_key = key( $img_name_arr );
                    unset( $img_name_arr[$curr_key] );
                    $image_name = totranslit( implode( ".", $img_name_arr ) ) . "." . $type;
                }
                if ( in_array( strtolower( $type ), $allowed_extensions) ) {
                @move_uploaded_file( $image, $config_path_image_upload . $file_prefix . $image_name );
                if( @file_exists( $config_path_image_upload . $file_prefix . $image_name ) ) {
                    @chmod( $config_path_image_upload . $file_prefix . $image_name, 0666 );
                        $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '{$member_id[name]}' AND news_id = '$idpost'" );
                        if( ! $row['count'] ) {
                            $added_time = time() + ($config['date_adjust'] * 60);
                            $inserts = FOLDER_PREFIX . "/" . $file_prefix . $image_name;
                            $db->query( "INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '{$member_id[name]}', '$idpost', '$added_time')" );
                        } else {
                            $row = $db->super_query( "SELECT images  FROM " . PREFIX . "_images where author = '{$member_id[name]}' AND news_id = '$idpost'" );
                            if( $row['images'] == "" ) $listimages = array ();
                            else $listimages = explode( "|||", $row['images'] );
                            foreach ( $listimages as $dataimages ) {
                                if( $dataimages == FOLDER_PREFIX . "/" . $file_prefix . $image_name ) $error_image = "stop";
                            }
                            if( $error_image != "stop" ) {
                                $listimages[] = FOLDER_PREFIX . "/" . $file_prefix . $image_name;
                                $row['images'] = implode( "|||", $listimages );
                                $db->query( "UPDATE " . PREFIX . "_images set images='{$row['images']}' where author = '{$member_id[name]}' AND news_id = '$idpost'" );
                            }
                        }
                    include_once ENGINE_DIR . '/inc/makethumb.php';
                    $tumb_ok = false;
                    $_POST['make_thumb'] = true;
                    $_POST['make_watermark'] = $config['allow_watermark'];
                    if( isset( $_POST['make_thumb'] ) ) {
                        $thumb = new thumbnail( $config_path_image_upload . $file_prefix . $image_name );
                        if( $thumb->size_auto( $config['max_image'], $_POST['t_seite'] ) ) {
                            $thumb->jpeg_quality( $config['jpeg_quality'] );
                            if( $config['allow_watermark'] == "yes" and $_POST['make_watermark'] == "yes" ) $thumb->insert_watermark( $config['max_watermark'] );
                            $thumb->save( $config_path_image_upload . "thumbs/" . $file_prefix . $image_name );
                        }
                        if( @file_exists( $config_path_image_upload . "thumbs/" . $file_prefix . $image_name ) ) $tumb_ok = true;
                        @chmod( $config_path_image_upload . "thumbs/" . $file_prefix . $image_name, 0666 );
                    }
                    $config['max_up_side'] = intval( $config['max_up_side'] );
                    if( ($config['allow_watermark'] == "yes" and $_POST['make_watermark'] == "yes") or $config['max_up_side'] ) {
                        $thumb = new thumbnail( $config_path_image_upload . $file_prefix . $image_name );
                        $thumb->jpeg_quality( $config['jpeg_quality'] );
                        if( $config['max_up_side'] ) $thumb->size_auto( $config['max_up_side'] );
                        if( $config['allow_watermark'] == "yes" and $_POST['make_watermark'] == "yes" ) $thumb->insert_watermark( $config['max_watermark'] );
                        $thumb->save( $config_path_image_upload . $file_prefix . $image_name );
                    }
                    $short_story = preg_replace('/^<br \/>(.*?)(<br \/>)*?$/is', '$1', $short_story);
                    if ( $tumb_ok ) $short_story = "<!--TBegin--><a href=\"{$config['http_home_url']}uploads/posts/".FOLDER_PREFIX."/{$file_prefix}{$image_name}\" onclick=\"return hs.expand(this)\" ><img align=\"left\" src=\"{$config['http_home_url']}uploads/posts/".FOLDER_PREFIX."/thumbs/{$file_prefix}{$image_name}\" alt='$title' title='$title'  /></a><!--TEnd-->".$short_story;
                    else $short_story = "<img src=\"{$config['http_home_url']}uploads/posts/".FOLDER_PREFIX."/{$file_prefix}{$image_name}\" align=\"left\" alt='$title' title='$title' />".$short_story;
                    $full_story = "<img src=\"{$config['http_home_url']}uploads/posts/".FOLDER_PREFIX."/{$file_prefix}{$image_name}\" align=\"center\" alt='$title' title='$title' />".$full_story;
                    $short_story = addslashes($short_story);
                    $full_story = addslashes($full_story);
                    $db->query( "UPDATE " . PREFIX . "_post SET short_story='$short_story', full_story='$full_story' where id = '$idpost'" );
                }
                }
            }
    Так же:
    Нужно добавить в строке
    Код:
    else $script .= "<form method=post name=\"entryform\" id=\"entryform\" onsubmit=\"if(document.entryform.title.value == '' || document.entryform.short_story.value == ''){alert('$lang[add_err_7]');return false}\" action=\"\">";
    Вот это.
    Код:
    enctype=\"multipart/form-data\"
    получится примерно так
    Код:
    else $script .= "<form method=post name=\"entryform\" id=\"entryform\" onsubmit=\"if(document.entryform.title.value == '' || document.entryform.short_story.value == ''){alert('$lang[add_err_7]');return false}\" action=\"\" enctype=\"multipart/form-data\">";
    \\ Для последней версии Dle нужно заменить в addnews.php
    Код:
    include_once ENGINE_DIR . '/inc/makethumb.php';
    на
    Код:
    include_once ENGINE_DIR . '/classes/thumb.class.php';
     
    Lion18 нравится это.
Статус темы:
Закрыта.