Перейти к контенту

[2.3.x]IPB Uploadify


Arhar

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

Название: IPB Uploadify

Добавил: Arhar

Добавлен: 18 авг. 2013

Категория: IP.Board 2.2.x-2.3.x

 



Одновременная загрузка нескольких файлов одной кнопкой для ipb 2.3.6

 



Нажмите здесь, чтобы скачать файл

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

Можно поставить мод флеш-загрузчик, не помню, был ли такой готовый.

Абсолютно новый аккаунд создает форум по данным, полученным из контакта. Там нужны то только почта и ник, пароль не требуется - вход будет происходить по пункту 3 из моего списка в следующий раз.

 

 

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

Придется сделать)

 

 

 

 

в архиве инструкция ipb-uploadify.txt

 

Сильно !!! А как установить ? 

HELP !!!! Что то сделал не так, если дам доступ к АЦ и ФТП можите проверить ?

Помогите пожалуйста ! Вроде всё так сделал... Вот такая форма получилась....

форма загрузки пропала вообще...

post-105070-0-00133100-1376836282_thumb.png

Изменено пользователем PaulZibert
Ссылка на комментарий
Поделиться на других сайтах

Ну видно сразу, что не то добавил, ибо откуда там разделитель

Внимательнее надо выделять

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jscripts/jquery.uploadify.min.js" type="text/javascript"></script>
<script type="text/javascript" src='jscripts/ips_attach.js'></script>

<tr>
        <td class="subtitle" colspan="2">{$this->ipsclass->lang['pro_attach']}</td>
</tr>
<tr>
	<td class="row1" style="text-align: right; vertical-align: top; width: 300px;">
<!-- ATTACH -->
 <div id='ips-attach-div-parent' class='attach-parentdiv' style='width: 300px !important;'>
		<div class='attach-menubutton' id='ips-attach-menu' style='margin-right:2px;width:293px;'>
			<table cellpadding="0" cellspacing="0" border="0" style='padding:0px'>
			<tr>
				<td style='padding:0px'><div style='width:265px;text-align:left;font-size:10px;'>{$this->ipsclass->lang['attach_manage_current']} <span id='ips-attach-menu-text'>(0)</span></div></td>
				<td style='padding:0px' align='right'><img class="ipd" src="{$this->ipsclass->vars['img_url']}/folder_editor_images/icon_open.gif"  border="0" alt="" /></td>
			</tr>
			</table>
		</div>
 	 <div id='ips-attach-div-iframe' style='height:67px;width:100%;text-align:center;display: none;'></div>
	 <div id='ips-attach-div-status' style='height:20px;width:100%;text-align:left;font-weight:bold;display: none;'></div>
 </div>

 <!-- ATTACH -->
 <div id="ips-attach-message" class='attach-messagediv' style='display:none;z-index:999;display: none;' >
	<br />
	<br />
	<img class="ipd" src="{$this->ipsclass->vars['img_url']}/folder_attach_images/attach_wait.gif"  border="0" alt="" />
	<br />
	<br />
	<span class='attach-msg-span' id='ips-attach-message-span'> </span><br clear='all' /><br />
 </div>

	</td>
	<td class="row2">
		<input id="file_upload" name="FILE_UPLOAD" type="file" multiple="true">
		<div id="queue"></div>
	</td>
</tr>

	<script type="text/javascript">
	//<![CDATA[
	// INIT and such
	ipsattach.iframe_init_url    = "{$this->ipsclass->base_url}&act=attach&code=attach_upload_show&attach_rel_module={$type}&attach_rel_id={$id}&attach_post_key={$post_key}&--ff--forum_id=$forum_id";
	ipsattach.iframe_remove_url  = "{$this->ipsclass->base_url}&act=attach&code=attach_upload_remove&attach_rel_module={$type}&attach_rel_id={$id}&attach_post_key={$post_key}&--ff--forum_id=$forum_id";
	ipsattach.iframe_classname   = 'attach-iframe';
	ipsattach.images_url         = ipb_skin_url;
	ipsattach.lang =
	{
		'no_items'            : '{$this->ipsclass->lang['attach_js__no_items']}',
		'uploading_file'      : '{$this->ipsclass->lang['attach_js__uploading']}',
		'init_progress'       : '{$this->ipsclass->lang['attach_js__init']}',
		'upload_ok'           : "{$this->ipsclass->lang['attach_js__upload_success']}",
		'upload_failed'       : "{$this->ipsclass->lang['attach_js__upload_fail']}",
		'upload_too_big'      : "{$this->ipsclass->lang['attach_js__upload_fail1']}",
		'invalid_mime_type'   : "{$this->ipsclass->lang['attach_js__upload_fail2']}",
		'no_upload_dir'       : "{$this->ipsclass->lang['attach_js__upload_fail3']}",
		'no_upload_dir_perms' : "{$this->ipsclass->lang['attach_js__upload_fail4']}",
		'upload_no_file' 	  : "{$this->ipsclass->lang['attach_js__upload_fail5']}",
		'ready'               : "{$this->ipsclass->lang['attach_js__ready']}",
		'attach_remove'       : "{$this->ipsclass->lang['attach_js__delete']}",
		'attach_insert'       : "{$this->ipsclass->lang['attach_js__insert']}",
		'remove_warn'	 	  : "{$this->ipsclass->lang['attach_js__confirm']}",
		'attach_removed'      : "{$this->ipsclass->lang['attach_js__isremoved']}",
		'attach_removal'      : "{$this->ipsclass->lang['attach_js__removing']}"
	};
	ipsattach.init();
	<!--IBF.UPLOADED_ITEMS-->
	ipsattach.show_attach_box();

	//]]>

	$(function() {
			$('#file_upload').uploadify({
				'formData'     : {
					'act' : 'attach',
					'code' : 'attach_upload_process',
					'attach_rel_module' : '{$type}',
					'attach_rel_id' : '{$id}',
					'attach_post_key' :'{$post_key}',
					'forum_id' : '{$forum_id}',
					's':'{$this->ipsclass->sess->session_id}'
				},
				'fileObjName' : 'FILE_UPLOAD',
				'queueID'  : 'queue',
				'removeTimeout': 0,
				'buttonText' : '{$this->ipsclass->lang['attach_select_file']}',
				'swf'      : 'style_images/uploadify.swf',
				'uploader' : '{$this->ipsclass->base_url}',
				'onUploadSuccess' : function(file, data, response) {
					var result=data.substring(0,data.indexOf(':'));
					if(result !='upload_ok') alert(result);
					ipsattach.current_items   = new Array();
					eval(data.substring(data.indexOf(':')+1));
					$('#ips-attach-menu-text').html("("+ipsattach.current_items.length+")");
				} 
			});
		});

	</script>

/***************************************************************************/

Разделитель был. Не поможите ?(

 

Ну видно сразу, что не то добавил, ибо откуда там разделитель

Внимательнее надо выделять

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jscripts/jquery.uploadify.min.js" type="text/javascript"></script>
<script type="text/javascript" src='jscripts/ips_attach.js'></script>

<tr>
        <td class="subtitle" colspan="2">{$this->ipsclass->lang['pro_attach']}</td>
</tr>
<tr>
	<td class="row1" style="text-align: right; vertical-align: top; width: 300px;">
<!-- ATTACH -->
 <div id='ips-attach-div-parent' class='attach-parentdiv' style='width: 300px !important;'>
		<div class='attach-menubutton' id='ips-attach-menu' style='margin-right:2px;width:293px;'>
			<table cellpadding="0" cellspacing="0" border="0" style='padding:0px'>
			<tr>
				<td style='padding:0px'><div style='width:265px;text-align:left;font-size:10px;'>{$this->ipsclass->lang['attach_manage_current']} <span id='ips-attach-menu-text'>(0)</span></div></td>
				<td style='padding:0px' align='right'><img class="ipd" src="{$this->ipsclass->vars['img_url']}/folder_editor_images/icon_open.gif"  border="0" alt="" /></td>
			</tr>
			</table>
		</div>
 	 <div id='ips-attach-div-iframe' style='height:67px;width:100%;text-align:center;display: none;'></div>
	 <div id='ips-attach-div-status' style='height:20px;width:100%;text-align:left;font-weight:bold;display: none;'></div>
 </div>

 <!-- ATTACH -->
 <div id="ips-attach-message" class='attach-messagediv' style='display:none;z-index:999;display: none;' >
	<br />
	<br />
	<img class="ipd" src="{$this->ipsclass->vars['img_url']}/folder_attach_images/attach_wait.gif"  border="0" alt="" />
	<br />
	<br />
	<span class='attach-msg-span' id='ips-attach-message-span'> </span><br clear='all' /><br />
 </div>

	</td>
	<td class="row2">
		<input id="file_upload" name="FILE_UPLOAD" type="file" multiple="true">
		<div id="queue"></div>
	</td>
</tr>

	<script type="text/javascript">
	//<![CDATA[
	// INIT and such
	ipsattach.iframe_init_url    = "{$this->ipsclass->base_url}&act=attach&code=attach_upload_show&attach_rel_module={$type}&attach_rel_id={$id}&attach_post_key={$post_key}&--ff--forum_id=$forum_id";
	ipsattach.iframe_remove_url  = "{$this->ipsclass->base_url}&act=attach&code=attach_upload_remove&attach_rel_module={$type}&attach_rel_id={$id}&attach_post_key={$post_key}&--ff--forum_id=$forum_id";
	ipsattach.iframe_classname   = 'attach-iframe';
	ipsattach.images_url         = ipb_skin_url;
	ipsattach.lang =
	{
		'no_items'            : '{$this->ipsclass->lang['attach_js__no_items']}',
		'uploading_file'      : '{$this->ipsclass->lang['attach_js__uploading']}',
		'init_progress'       : '{$this->ipsclass->lang['attach_js__init']}',
		'upload_ok'           : "{$this->ipsclass->lang['attach_js__upload_success']}",
		'upload_failed'       : "{$this->ipsclass->lang['attach_js__upload_fail']}",
		'upload_too_big'      : "{$this->ipsclass->lang['attach_js__upload_fail1']}",
		'invalid_mime_type'   : "{$this->ipsclass->lang['attach_js__upload_fail2']}",
		'no_upload_dir'       : "{$this->ipsclass->lang['attach_js__upload_fail3']}",
		'no_upload_dir_perms' : "{$this->ipsclass->lang['attach_js__upload_fail4']}",
		'upload_no_file' 	  : "{$this->ipsclass->lang['attach_js__upload_fail5']}",
		'ready'               : "{$this->ipsclass->lang['attach_js__ready']}",
		'attach_remove'       : "{$this->ipsclass->lang['attach_js__delete']}",
		'attach_insert'       : "{$this->ipsclass->lang['attach_js__insert']}",
		'remove_warn'	 	  : "{$this->ipsclass->lang['attach_js__confirm']}",
		'attach_removed'      : "{$this->ipsclass->lang['attach_js__isremoved']}",
		'attach_removal'      : "{$this->ipsclass->lang['attach_js__removing']}"
	};
	ipsattach.init();
	<!--IBF.UPLOADED_ITEMS-->
	ipsattach.show_attach_box();

	//]]>

	$(function() {
			$('#file_upload').uploadify({
				'formData'     : {
					'act' : 'attach',
					'code' : 'attach_upload_process',
					'attach_rel_module' : '{$type}',
					'attach_rel_id' : '{$id}',
					'attach_post_key' :'{$post_key}',
					'forum_id' : '{$forum_id}',
					's':'{$this->ipsclass->sess->session_id}'
				},
				'fileObjName' : 'FILE_UPLOAD',
				'queueID'  : 'queue',
				'removeTimeout': 0,
				'buttonText' : '{$this->ipsclass->lang['attach_select_file']}',
				'swf'      : 'style_images/uploadify.swf',
				'uploader' : '{$this->ipsclass->base_url}',
				'onUploadSuccess' : function(file, data, response) {
					var result=data.substring(0,data.indexOf(':'));
					if(result !='upload_ok') alert(result);
					ipsattach.current_items   = new Array();
					eval(data.substring(data.indexOf(':')+1));
					$('#ips-attach-menu-text').html("("+ipsattach.current_items.length+")");
				} 
			});
		});

	</script>

/***************************************************************************/

Разделитель был. Не поможите ?(

 

Разделитель убрал. Не помогло.

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

Хочу посмотреть вживую

Дам доступ. Отпишите плиз в ЛС. А то Вам немогу чиркануть.

Мой ICQ навсякий 355631322

Изменено пользователем PaulZibert
Ссылка на комментарий
Поделиться на других сайтах

Для обновления до 1 версии заменить ips_attach.js и полностью контент Upload_field

Спасибо ! Сегодня обновлю ! Пока всё отлично. Кроме загрузки с Андройда. Но с Андройда везде проблемы.

Изменено пользователем PaulZibert
Ссылка на комментарий
Поделиться на других сайтах

Обновил. Перезалил ips_attach.js

И uploadify.swf > /style_images/

uploadify.css > /style_images/
uploadify-cancel.png > /style_images/
 
Разницы в версиях не заметил !) Но это наверное к лучшему !)
Ссылка на комментарий
Поделиться на других сайтах

Спасибо ! Работает отлично ! Только файлы с русским названием загружаются но не корректно отображаются. Может ли это быть связано с модом ?

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

Замечен такой момент. Пока не нашёл взаимосвязи. Файл может быть с названием например 8в а при загрузке он его переделывает в другое название (например с дробями или запятыми) после этого экскиз не отображается.

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

потому что кто-то до меня ставил туда идиотский мод по переименовыванию загружаемых файлов

я его не трогал, ибо подумал он вам нужен

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

потому что кто-то до меня ставил туда идиотский мод по переименовыванию загружаемых файлов

я его не трогал, ибо подумал он вам нужен

Извините за наглость, а что будет если его убрать ? Проблема исчезнет ?

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

если убрать мод, дающий кривые имена, проблема имен исчезнет

через 5 минут выложу в архив версию с поддержкой Android

для обновления с текущей версии необходимо в

./sources/classes/post/class_post.php

найти

	function html_build_uploads( $post_key="", $type="", $pid="")
	{
		$upload_field = $this->ipsclass->compiled_templates['skin_post']->Upload_field( $post_key, 'post', $pid, $this->forum['id'] );
		

заменить на

	function get_file_types()
	{
		if(count($this->ipsclass->cache['attachtypes']))
		{
			$r="";
			foreach($this->ipsclass->cache['attachtypes'] as $k => $v)
			{
				if($v['atype_post']) $r.="*.".$k.";";
			}
			if(!strlen($r)) $r="*.gif; *.jpg; *.png";
			return $r;
		}
		else
		{
			return "*.gif; *.jpg; *.png";
		}
	}
	
	function html_build_uploads( $post_key="", $type="", $pid="")
	{
		$upload_field = $this->ipsclass->compiled_templates['skin_post']->Upload_field( $post_key, 'post', $pid, $this->forum['id'], $this->get_file_types() );
		

редактировать

внешний вид - фрагменты - skin_post - Upload_field

редактировать входящие переменные

сделать

$post_key="",$type="",$id="",$forum_id=0, $file_types="*.gif; *.jpg; *.png"

редактировать шабон

найти

                'fileObjName' : 'FILE_UPLOAD',

добавить после

                'fileTypeExts' : '{$file_types}',

чтобы убрать кривой мод, достаточно в ./sources/classes/attach/class_attach.php

найти

$upload->out_file_name    = $this->type.'-'.$this->ipsclass->member['id'].'-'.time().'-'.$file['name'];

заменить на

$upload->out_file_name    = $this->type.'-'.$this->ipsclass->member['id'].'-'.str_replace(" ","-",microtime());
Изменено пользователем Arhar
1.3
Ссылка на комментарий
Поделиться на других сайтах

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

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.