Перейти к публикации
Respect

DataLife Engine Помогите доделать кнопку

Рекомендованные сообщения

Respect

Всем Добрый вечер! И с прошедшими праздниками!

 

У меня такой вопрос:

 

При добавлении новостей я поставил кнопку Upload вот и она

 

<script language="JavaScript">
function  sendFile()  {
window.open('engine/images.php?area=full_story&add_id=','new','width=656,height=625,toolbar=1')
}
</script>
<input  type="button" class="button" onclick="sendFile()" value="Загрузить" />

Вот теперь у меня проблема другая когда я нажимаю загрузить у меня открываеться

диалоговое окно закгрузки файла, теперь после загрузки картинки/файла при нажатии на него оно не вставляеться в поле, т.е. у меня есть поле для вставки картинки, созданное через доп.поля и называеться xfield[poster], вот как мне теперь сделать так чтобы после загрузки картинки она вставлялась в это поле?

 

Вот весь код с полем и кнопкой может кто-то сделать так чтоб оно добавляло в это поле при нажатии в диалоговом окне!

	  <tr>
<td width="110"  height="25" nowrap="nowrap" class="badd">Постер: <br  /><small>(url)</small></td>
<td><input  type="text" style="width: 460px;" name="xfield[poster]" maxlength="100"  class="f_input" />

<script language="JavaScript">
function  sendFile()  {
window.open('engine/images.php?area=full_story&add_id=','new','width=656,height=625,toolbar=1')
}
</script>
<input  type="button" class="button" onclick="sendFile()" value="Загрузить" />  
</td>
</tr>
</table>

Зарание ОГРОМНОЕ СПАСИБО!

Изменено пользователем Respect

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

Эм, раздел 'Саппорт' (техподдержка) для чего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Эм, раздел 'Саппорт' (техподдержка) для чего?

 

Сори не заметил раздел https://nevex.pw/public/style_emoticons/default/s015.gif

Перениси пожалуйста тему в тот раздел!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Помогите пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость uflex

Лучше делай на php:

Вставляем в addnews.php (modules) после:

$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '" . $_POST['tags'] . "')" );
			   
			    $row['id'] = $db->insert_id();

Код:

$imags_id=0;
	    $idpost = $row['id'];
	    while ($imags_id<=3) {
	    $imags_id++;
	    $allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
	    if ((isset($_FILES['post_add_'.$imags_id.'']) && $_FILES['post_add_'.$imags_id.'']!='')) {
		   
		    $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_'.$imags_id.'';
		    $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'" );
					    }
				    }
if( @file_exists( ENGINE_DIR . '/classes/thumb.class.php' ) ) {
include_once ENGINE_DIR . '/classes/thumb.class.php';
} else (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 );
			    }
			  }
		    }
		   
	    }
	    }
Так же:

Нужно добавить в строке

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">";
в обоих случаях

 

в addnews.tpl

<input name="post_add_1" maxlength="250" class="f_input" type="file">
<input name="post_add_2" maxlength="250" class="f_input" type="file">
<input name="post_add_3" maxlength="250" class="f_input" type="file">

в show.full.php после

while ( $row = $db->get_row( $sql_result ) ) {
добавляем

$sql_result2 = $db->query( "SELECT images, news_id FROM " . PREFIX . "_images where news_id = '{$row['id']}'" );
$poster = $db->get_row($sql_result2);
if ($poster['images'] != "") {
$scrsList = explode('|||',$poster['images']);
	    $scrs = '';
	    $cntscrs = count($scrsList);
	    $ai = 0;
   
	    foreach ($scrsList as $scr)
	    {
		    $ai++;
		    $scr = trim($scr);
		    $poster_temp = explode("/",$scr);
		    $poster_name = $poster_temp[1];
		    $poster_data = substr($scr,0,8);
		    $scrs = ''. $config ['http_home_url'] . 'uploads/posts/'.$poster_data.$poster_name.'';
$tpl->set ( '{poster'.$ai.'}', $scrs);
		    if ($ai<$cntscrs) $scrs .= '';
		    if ($ai=="3") break;
	    }
	    unset($scrsList);
}else {
$ai=0;
while ($ai<4){
$ai++;
$tpl->set ( '{poster'.$ai.'}', "");
}
}

ну и в fullstory.tpl и такойже в show.short.tpl

{poster1}{poster2}{poster3}

Для show.short.php

/*Poster_images @START" by toxx*/
$sql_result2 = $db->query( "SELECT images, news_id FROM " . PREFIX . "_images where news_id = '{$row['id']}'" );
$poster = $db->get_row($sql_result2);
if ($poster['images'] != "") {
$scrsList = explode('|||',$poster['images']);
	    $scrs = '';
	    $cntscrs = count($scrsList);
	    $ai = 0;
   
	    foreach ($scrsList as $scr)
	    {
		    $ai++;
		    $scr = trim($scr);
		    $poster_temp = explode("/",$scr);
		    $poster_name = $poster_temp[1];
		    $poster_data = substr($scr,0,8);
if( @file_exists( ROOT_DIR.'/uploads/posts/'.$poster_data.'thumbs/'.$poster_name ) ){
$_POST['poster_'.$ai] = <<<HTML
<a href="{$config ['http_home_url']}uploads/posts/{$poster_data}{$poster_name}" onclick="return hs.expand(this)"><img src="{$config ['http_home_url']}uploads/posts/{$poster_data}thumbs/{$poster_name}"></a>
HTML;
} else {$_POST['poster_'.$ai] = <<<HTML
<a href="{$config ['http_home_url']}uploads/posts/{$poster_data}{$poster_name}" onclick="return hs.expand(this)"><img src="{$config ['http_home_url']}uploads/posts/{$poster_data}/{$poster_name}"></a>
HTML;
}
		    if ($ai<$cntscrs) $scrs .= '';
		    if ($ai=="4") break;
	    }
	    unset($scrsList);
}
if (empty($_POST['poster_1'])){
$_POST['poster_1'] = '<img src="http://imagename.ru/noimages.jpg">'; /*http://imagename.ru/noimages.jpg заменяем данную ссылку на вашу ссылку на картинку*/
}
if (empty($_POST['poster_2'])){
$_POST['poster_2'] = '<img src="http://imagename.ru/noimages.jpg">'; /*http://imagename.ru/noimages.jpg заменяем данную ссылку на вашу ссылку на картинку*/
}if (empty($_POST['poster_3'])){
$_POST['poster_3'] = '<img src="http://imagename.ru/noimages.jpg">'; /*http://imagename.ru/noimages.jpg заменяем данную ссылку на вашу ссылку на картинку*/
}
if (empty($_POST['poster_4'])){
$_POST['poster_4'] = '<img src="http://imagename.ru/noimages.jpg">'; /*http://imagename.ru/noimages.jpg заменяем данную ссылку на вашу ссылку на картинку*/
}$tpl->set ( '{poster1}', $_POST['poster_1']);
$tpl->set ( '{poster2}', $_POST['poster_2']);
$tpl->set ( '{poster3}', $_POST['poster_3']);
$tpl->set ( '{poster4}', $_POST['poster_4']);
/*Poster_images "END" by toxx*/

Если у вам надо не 3 картинки, а больше, то в:

while ($imags_id<=3)
меняем 3 на столько сколько у вас будет пунктов.

соответственно и в addnews.tpl

<input name="post_add_1" maxlength="250" class="f_input" type="file">
<input name="post_add_2" maxlength="250" class="f_input" type="file">
<input name="post_add_3" maxlength="250" class="f_input" type="file">

делаем на 3 input, а столько сколько вам, цифры в name="post_add_3"должны идти от 1 до вашего количества

Также в отображении картинки нужно поменять

if ($ai=="3") break;

3 на нужное вам число

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Это скриншоты к фильмам а мне нужен поостер! чтоб при загрузни файла на сервер при нажатии добавлялась ссылка в поле! сейчас она не добавляеться!=(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

Тут надо js править. По-умолчанию окно привязано к текстовому полю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Тут надо js править. По-умолчанию окно привязано к текстовому полю.

 

Можешь поправить пожалуйста! зайди в скайп или скажи какой файл тебе нужно выложить ! зарание спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость uflex

Это скриншоты к фильмам а мне нужен поостер! чтоб при загрузни файла на сервер при нажатии добавлялась ссылка в поле! сейчас она не добавляеться!=(

 

А нельзя одно поле тупо сделать под постер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

А нельзя одно поле тупо сделать под постер?

 

А это что не поле?

<tr>
<td width="110" height="25" nowrap="nowrap" class="badd">Постер: <br /><small>(url)</small></td>
<td><input type="text" style="width: 460px;" name="xfield[poster]" maxlength="100" class="f_input" />

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
WooFi

Хм... а если картинок несколько загрузишь, в поле чего будет отображаться?

Мне в голову влетела только идея в окне загрузки файла добавить кнопку постер при выборе галочки постера. Но как это реализовать я ещё не понял, ибо только что это пришло на ум.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Хм... а если картинок несколько загрузишь, в поле чего будет отображаться?

 

Так это постер туда только одна картинка загружаеться в это поле дополнительное! :D

 

Мне в голову влетела только идея в окне загрузки файла добавить кнопку постер при выборе галочки постера. Но как это реализовать я ещё не понял, ибо только что это пришло на ум.

Хорошая идея если я правельно понял =)!! только как её реализовать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Respect

Ну Что некто так не поможет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...