Wiki Plume Community : DamDam

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Lors de l'insertion d'une image dans un champ avec la fenetre popup habituelle, on peut préférer insérer la miniature de cette image. Voici une modification de xmedia.php ajoutant un bouton à cet effet :
/* Line to display a file */
function line_file($data,$i)
{
	global $mode, $up_dir, $_PX_website_config, $m, $px_gd_version, $env, $_px_theme;

	// 4 kinds of entry: "up" folder, folder, image and normal file
	// 2 modes: popup and normal
	$is_dir = false;
	$is_file = false;
	$is_image = false;
	$is_updir = false;
	$url = $data['url'];
	$name = $data['name'];
	$current_dir = $data['current_dir'];

	switch ($data['type']) {
	case 'file':
		$is_image = isImage($name);
		$is_file = !$is_image;
		$ext = getFileExtension($name);
		break;
	case 'dir':
		$is_dir = true;
		break;
	case 'updir':
		$is_updir = true;
		break;
	}

	$res = ''; //final string to be displayed.
	$file_size = ''; //contains the height/width of the image or the size of the file, nothing
					// if an image and impossible to get the size
	$create_thumb = ''; //link to create the thumbnail
	
	$send_thumb='';
	$url2='';
	$action_link2='';
	
	$icons_dir = $GLOBALS['_PX_config']['manager_path'] . '/themes/'.$_px_theme.'/images/icons/';

	$delete_link = '<a href="xmedia.php?dir='.rawurlencode($current_dir).'&file='.rawurlencode($current_dir.$name).'&del=1&mode='.$mode.'&env='.$env.'" '.
			'title="'. __('Delete').'" onclick="return window.confirm(\''. __('Are you sure you want to delete this file?').'\')"><img src="themes/'.$_px_theme.'/images/delete.png" alt="'. __('Delete').'" /></a>';



	// Get size of the file in $file_size format ready to be displayed
	if ($is_image) {
		$siz = @getimagesize($_PX_website_config['xmedia_root'].'/'.$current_dir.$name);
		if ($siz !== false && 'html' == $m->user->getPref('content_format')) {
			//HTML format
			$file_size = __('<strong>size</strong>:') .' '.$siz[3];
		} elseif ($siz !== false) {
			//wiki format
			$file_size = __('<strong>size</strong>:') .' '.$siz[0].'x'.$siz[1];
		}
	} elseif ($is_file) {
		//size in kb
		$file_size =  __('<strong>size</strong>:') .' '.prettySize(filesize($_PX_website_config['xmedia_root'].'/'.$current_dir.$name));
	}

	if ($mode == 'popup' && ($is_image || $is_file)) {
		//call from the popup
		$act = ($is_image) ? 'img' : 'file';
		$action_link = '<a href="#" '.
		'onclick="insertImage(window.opener.document,\''.$url.'\',\''.$act.'\',\''.addslashes( __('Title of the file or image:')).'\'); '.
		'window.close(); return false;">%s</a>';
	} elseif ($is_dir || $is_updir) {
	    $slash = ($is_dir) ? '/' : '';
		$action_link = '<a href="xmedia.php?dir='.$current_dir.$slash.'&mode='.$mode.'">%s</a>';
	} else {
		//call from the "normal" list of files page
		$action_link = '<a href="http://'.$_PX_website_config['domain'].$url.'">%s</a>';
	}

	// create the thumbnail link
	if ($is_file || $is_image) {
		if (file_exists($up_dir.'/thumb/'.md5($current_dir.$name).'.jpg')) {
			//thumbnail exists
			$th = sprintf($action_link,
				'<img class="thumbnail" '.
				'src="http://'.$_PX_website_config['domain'].$_PX_website_config['rel_url_files'].'/thumb/'.md5($current_dir.$name).'.jpg" alt="" />');
			$url2='http://'.$_PX_website_config['domain'].$_PX_website_config['rel_url_files'].'/thumb/'.md5($current_dir.$name).'.jpg';
			$action_link2 = '<a href="#"  title="'.__('Send the thumbnail').'" '.
			'onclick="insertImage(window.opener.document,\''.$url2.'\',\''.$act.'\',\''.addslashes( __('Title of the file or image:')).'\'); '.
			'window.close(); return false;">%s</a>';
			$send_thumb= sprintf($action_link2,'<img src="themes/'.$_px_theme.'/images/ico_image.png" alt="Envoyer la miniature" />');
		
		} elseif ($is_image && $px_gd_version) {
			//image without thumbnail
			if (file_exists($icons_dir.$ext.'-dist.png')) {
				$img = 'themes/'.$_px_theme.'/images/icons/'.$ext.'-dist.png';
			} else {
				$img = 'themes/'.$_px_theme.'/images/icons/default-dist.png';
			}
			$th = sprintf($action_link, '<img class="thumbnailicon" src="'.$img.'" alt="" />');
			$create_thumb = '<a href="xmedia.php?dir='.rawurlencode($current_dir).'&file='.rawurlencode($current_dir.$name).
			'&thumb=1&mode='.$mode.'&env='.$env.'" title="'.__('Try to create the thumbnail').'"><img src="themes/'.$_px_theme.'/images/ico_createthumb.png" alt="'.__('Try to create the thumbnail').'" /></a>';
		} else {
			//normal file
			$ext = getFileExtension($name);
			if (file_exists($icons_dir.$ext.'-dist.png')) {
				$img = 'themes/'.$_px_theme.'/images/icons/'.$ext.'-dist.png';
			} else {
				$img = 'themes/'.$_px_theme.'/images/icons/default-dist.png';
			}
			$th = sprintf($action_link, '<img class="thumbnailicon" src="'.$img.'" alt="" />');
		}
		$res = '<div class="icon">'."\n".
			'<p class="legend action">'.$send_thumb.' '.$create_thumb.' '.$delete_link.'</p>'."\n".
			'<p class="icon">'.$th.'</p>'."\n".
			'<p class="legend">'.sprintf($action_link,$name).'<br />'."\n".
			$file_size.'</p>'."\n".
			'</div>'."\n";
	} elseif ($is_dir || $is_updir) {
		$ico = ($is_dir) ? 'ico_folder.png' : 'ico_folder_up.png';
		$img = 'themes/'.$_px_theme.'/images/'.$ico;
		$th = sprintf($action_link, '<img class="thumbnailicon" src="'.$img.'" alt="" />');
			$res = '<div class="icon">'."\n".
			'<p class="icon">'.$th.'</p>'."\n".
			'<p class="legend">'.sprintf($action_link,$name).'</p>'."\n".
			'</div>'."\n";
	}


	return $res;
}
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
Page was generated in 0.3089 seconds