[Xoopstokita-svn] xoopstokita-svn [39] アップロードサイズ制限

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 8月 30日 (日) 08:37:13 JST


Revision: 39
          http://sourceforge.jp/projects/xoopstokita/svn/view?view=rev&revision=39
Author:   tokita
Date:     2009-08-30 08:37:13 +0900 (Sun, 30 Aug 2009)

Log Message:
-----------
アップロードサイズ制限
アップロード周り説明文追加

Modified Paths:
--------------
    spicky/trunc/xoops_trust_path/modules/spicky/include/misc.php
    spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/admin.php
    spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/main.php
    spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/modinfo.php
    spicky/trunc/xoops_trust_path/modules/spicky/main/upload.php
    spicky/trunc/xoops_trust_path/modules/spicky/templates/main.css
    spicky/trunc/xoops_trust_path/modules/spicky/templates/upload.html
    spicky/trunc/xoops_trust_path/modules/spicky/xoops_version.php

Added Paths:
-----------
    spicky/trunc/xoops_trust_path/modules/spicky/templates/guideline.html

Modified: spicky/trunc/xoops_trust_path/modules/spicky/include/misc.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/include/misc.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/include/misc.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -172,6 +172,22 @@
 	}
 }
 
+function spicky_check_image_width_height($filename, $max_width, $max_height)
+{
+	$size = getimagesize($filename);
+	
+	$width = $size[0];
+	$height = $size[1];
+	
+	if ($max_width < $width || $max_height < $height) {
+		// OK
+		return false;
+	} else {
+		// NG
+		return true;
+	}
+}
+
 function spicky_image_resize($type, $src_image, $dest_image, $max_size)
 {
 	global $constpref;

Modified: spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/admin.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/admin.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/admin.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -49,3 +49,4 @@
 define('_MD_A_SPICKY_PIPEFORIMAGES', '画像処理プログラム');
 
 
+

Modified: spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/main.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/main.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/main.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -48,6 +48,7 @@
 define('_MD_SPICKY_LIMIT_LEVEL_R18', '18才禁止');
 define('_MD_SPICKY_TOOL', '使用ツール');
 
+define('_MD_SPICKY_UPLOAD', 'アップロード');
 define('_MD_SPICKY_IMAGE_UPLOAD', '画像アップロード');
 define('_MD_SPICKY_EDIT_THIS_IMAGE', 'この画像の情報を編集');
 
@@ -101,4 +102,32 @@
 define('_MD_SPICKY_SORT_BOOKMARK_HIGH', 'お気に入り多');
 define('_MD_SPICKY_SORT_BOOKMARK_LOW', 'お気に入り少');
 
+// Please look at the guideline. 
+define('_MD_SPICKY_LOOK_GUIDELINE', 'ガイドラインに従ってアップロードしてください');
+define('_MD_SPICKY_GUIDELINE', 'ガイドライン
+
+投稿者は当サイトのガイドラインに従い利用してください。
+
+以下に該当する画像・コメント・タグは投稿を禁止します。
+
+・第三者の著作権、意匠権等の知的財産権を侵害する投稿
+・中傷等、利用者に精神的損害を与える投稿
+・法令に違反する作品
+・当サイトの運営を妨害する投稿
+・当サイトに不利益と判断される投稿
+
+禁止投稿があった場合は、連絡なしに削除する場合があります。
+ガイドラインは予告なしに変更できるものとします。');
 
+define('_MD_SPICKY_UPLOAD_MAX_SIZE', '総アップロードの最大サイズ');
+define('_MD_SPICKY_IMAGE_MAX_SIZE', '画像1枚の最大サイズ');
+define('_MD_SPICKY_DOT', 'ドット');
+define('_MD_SPICKY_MADE', 'まで');
+
+define('_MD_SPICKY_FAILED_UPLOAD', 'アップロードに失敗しました');
+define('_MD_SPICKY_IMAGE_WHSIZE_OVER', '解像度が制限を越えました');
+define('_MD_SPICKY_IMAGE_SIZE_OVER', 'ファイルサイズが制限を越えました');
+
+define('_MD_SPICKY_DRAGDROP', 'Firefox + <a href="https://addons.mozilla.org/ja/firefox/addon/2190" target="_blank">dragdropupload</a> アドオンを使うことで、ドラッグ&ドロップで複数ファイルを
+一度にアップロードすることが可能です。');
+

Modified: spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/modinfo.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/modinfo.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/language/japanese/modinfo.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -44,6 +44,12 @@
 define($constpref.'_COM_VIEW','コメント統合の表示方法');
 define($constpref.'_COM_POSTSNUM','コメント統合のフラット表示における最大表示件数');
 
+define($constpref . '_MAX_WIDTH_SIZE', '最大横幅サイズ');
+define($constpref . '_MAX_HEIGHT_SIZE', '最大縦サイズ');
+define($constpref . '_MAX_IMAGE_SIZE', '1枚の最大画像容量(MB)');
+define($constpref . '_MAX_UPLOAD_SIZE', '最大アップロード容量(MB)');
+define($constpref . '_MAX_DOT_LIMIT', '解像度の制限をする');
+
 }
 
 

Modified: spicky/trunc/xoops_trust_path/modules/spicky/main/upload.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/main/upload.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/main/upload.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -25,12 +25,31 @@
 
 $xoopsTpl->assign('mydirname', $mydirname);
 
+$upload_error = array(
+'UPLOAD_ERR_OK',
+'UPLOAD_ERR_INI_SIZE',
+'UPLOAD_ERR_FORM_SIZE',
+'UPLOAD_ERR_PARTIAL',
+'UPLOAD_ERR_NO_FILE',
+'UPLOAD_ERR_NO_TMP_DIR',
+'UPLOAD_ERR_CANT_WRITE',
+'UPLOAD_ERR_EXTENSION',
+);
+
 if (@$_POST['stat'] == 2) {
 
 	$image_list = array();
 	$num_list = array();
 	
+	$error_message = array();
+	
 	for ($i = 1; $i <= 500; $i++) {
+		$error = @$_FILES['upfile' . $i]['error'];
+		
+		if ($error != 0 && $error != 4) {
+			$error_message[] = _MD_SPICKY_FAILED_UPLOAD . ' ' . _MD_SPICKY_IMAGE . $i . ':' . $upload_error[$error];
+		}
+	
 		if (isset($_FILES['upfile' . $i]) == false) {
 			continue;
 		}
@@ -50,6 +69,22 @@
 			require_once XOOPS_ROOT_PATH.'/footer.php';
 			exit();
 		}
+		
+		if (($xoopsModuleConfig['max_image_size'] * 1024 * 1240) < $_FILES['upfile' . $i]['size']) {
+			$error_message[] = _MD_SPICKY_FAILED_UPLOAD . ' ' . _MD_SPICKY_IMAGE . $i . ':' .
+				_MD_SPICKY_IMAGE_SIZE_OVER;
+			continue;
+		}
+		
+		$check = spicky_check_image_width_height($src_image,
+			$xoopsModuleConfig['max_width'],
+			$xoopsModuleConfig['max_height']);
+		
+		if ($check == false) {
+			$error_message[] = _MD_SPICKY_FAILED_UPLOAD . ' ' . _MD_SPICKY_IMAGE . $i . ':' .
+				_MD_SPICKY_IMAGE_WHSIZE_OVER . ':(' . $xoopsModuleConfig['max_width'] . 'x' . $xoopsModuleConfig['max_height'] . ')';
+			continue;
+		}
 	
 		$size = getimagesize($src_image);
 		$width = $size[0];
@@ -69,6 +104,17 @@
 		$image[$i] = array('id' => $image_id, 'width' => $width, 'height' => $height,
 					'code' => $code, 'size' => 120, 'type' => $type, 'ext' => $ext);
 	}
+	
+	if (count($error_message)) {
+		$xoopsTpl->assign('error_message', $error_message);
+		$xoopsTpl->assign('upload_max_filesize', ini_get('upload_max_filesize'));
+		$xoopsTpl->assign('max_upload_size_real', $xoopsModuleConfig['max_upload_size'] * 1024 * 1024);
+		$xoopsTpl->assign('max_upload_size', $xoopsModuleConfig['max_upload_size']);
+		$xoopsTpl->assign('module_config', $xoopsModuleConfig);
+		$xoopsOption['template_main'] = $mydirname.'_upload.html';
+		require_once XOOPS_ROOT_PATH.'/footer.php';
+		exit();
+	}
 
 	$tool_list = spicky_get_tool_list();
 	
@@ -118,6 +164,10 @@
     redirect_header('index.php', 2, _MD_SPICKY_ENTRYED_IMAGE);
     exit();
 } else {
+	$xoopsTpl->assign('upload_max_filesize', ini_get('upload_max_filesize'));
+	$xoopsTpl->assign('max_upload_size_real', $xoopsModuleConfig['max_upload_size'] * 1024 * 1024);
+	$xoopsTpl->assign('max_upload_size', $xoopsModuleConfig['max_upload_size']);
+	$xoopsTpl->assign('module_config', $xoopsModuleConfig);
 	$xoopsOption['template_main'] = $mydirname.'_upload.html';
 }
 

Added: spicky/trunc/xoops_trust_path/modules/spicky/templates/guideline.html
===================================================================
(Binary files differ)


Property changes on: spicky/trunc/xoops_trust_path/modules/spicky/templates/guideline.html
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: spicky/trunc/xoops_trust_path/modules/spicky/templates/main.css
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/templates/main.css	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/templates/main.css	2009-08-29 23:37:13 UTC (rev 39)
@@ -37,5 +37,5 @@
 
 #spicky_pager { width: 640px; text-align: center; }
 
-#spicky_upload_box { width: 500px; }
+#spicky_upload_box { width: 500px; text-align: center }
 

Modified: spicky/trunc/xoops_trust_path/modules/spicky/templates/upload.html
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/templates/upload.html	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/templates/upload.html	2009-08-29 23:37:13 UTC (rev 39)
@@ -5,12 +5,19 @@
     <{$message}>
 <{/if}>
 
+<br />
+
 <form action="./index.php?page=upload" method="post" enctype="multipart/form-data">
-
 <input type="hidden" name="page" value="upload">
 <input type="hidden" name="stat" value="2">
+<input type='hidden' name='MAX_FILE_SIZE' value='<{$max_upload_size_real}>' />
 
 <div id="spicky_upload_box">
+
+<{foreach from=$error_message item=item}>
+<{$item}><br />
+<{/foreach}>
+
 <{strip}>
 <input type="file" name="upfile1">
 <input type="file" name="upfile2">
@@ -23,8 +30,22 @@
 <input type="file" name="upfile9">
 <input type="file" name="upfile10">
 <{/strip}>
+<br />
+<input type="submit" name="submit" value="<{$smarty.const._MD_SPICKY_UPLOAD}>"><br />
+<{$smarty.const._MD_SPICKY_IMAGE_MAX_SIZE}> <{$module_config.max_image_size}>MB<br />
+<{if $module_config.max_dot_limit }>
+<{$module_config.max_width}><{$smarty.const._MD_SPICKY_DOT}> x 
+<{$module_config.max_height}><{$smarty.const._MD_SPICKY_DOT}><{$smarty.const._MD_SPICKY_MADE}><br />
+<{/if}>
+<{$smarty.const._MD_SPICKY_UPLOAD_MAX_SIZE}> <{$upload_max_filesize}>B<br />
+<br />
+<{$smarty.const._MD_SPICKY_LOOK_GUIDELINE}><br />
+<textarea cols="60" rows="13" readonly><{$smarty.const._MD_SPICKY_GUIDELINE}></textarea>
+<br />
+<br />
+
 </div>
-<input type="submit" name="submit" value="Uplaod">
+<{$smarty.const._MD_SPICKY_DRAGDROP}>
 
 </form>
 

Modified: spicky/trunc/xoops_trust_path/modules/spicky/xoops_version.php
===================================================================
--- spicky/trunc/xoops_trust_path/modules/spicky/xoops_version.php	2009-08-28 17:03:36 UTC (rev 38)
+++ spicky/trunc/xoops_trust_path/modules/spicky/xoops_version.php	2009-08-29 23:37:13 UTC (rev 39)
@@ -100,6 +100,51 @@
 	'options'		=> array(100=>100, 120=>120, 150=>150)
 ) ;
 $modversion['config'][] = array(
+	'name'			=> 'max_dot_limit' ,
+	'title'			=> $constpref . '_MAX_DOT_LIMIT' ,
+	'description'	=> '' ,
+	'formtype'		=> 'select' ,
+	'valuetype'		=> 'int' ,
+	'default'		=> (0) ,
+	'options'		=> array(_NO => '0', _YES => '1')
+) ;
+$modversion['config'][] = array(
+	'name'			=> 'max_width' ,
+	'title'			=> $constpref . '_MAX_WIDTH_SIZE' ,
+	'description'	=> '' ,
+	'formtype'		=> 'textbox' ,
+	'valuetype'		=> 'int' ,
+	'default'		=> (30000) ,
+	'options'		=> array()
+) ;
+$modversion['config'][] = array(
+	'name'			=> 'max_height' ,
+	'title'			=> $constpref . '_MAX_HEIGHT_SIZE' ,
+	'description'	=> '' ,
+	'formtype'		=> 'textbox' ,
+	'valuetype'		=> 'int' ,
+	'default'		=> (30000) ,
+	'options'		=> array()
+) ;
+$modversion['config'][] = array(
+	'name'			=> 'max_image_size' ,
+	'title'			=> $constpref . '_MAX_IMAGE_SIZE' ,
+	'description'	=> '' ,
+	'formtype'		=> 'textbox' ,
+	'valuetype'		=> 'int' ,
+	'default'		=> (10) ,
+	'options'		=> array()
+) ;
+$modversion['config'][] = array(
+	'name'			=> 'max_upload_size' ,
+	'title'			=> $constpref . '_MAX_UPLOAD_SIZE' ,
+	'description'	=> '' ,
+	'formtype'		=> 'textbox' ,
+	'valuetype'		=> 'int' ,
+	'default'		=> (50) ,
+	'options'		=> array()
+) ;
+$modversion['config'][] = array(
 	'name'			=> 'comment_dirname' ,
 	'title'			=> $constpref.'_COM_DIRNAME' ,
 	'description'	=> '' ,




Xoopstokita-svn メーリングリストの案内
Back to archive index