Images.mdu:
<?PHP
if($member_db[1] > 3 or ($member_db[1] != 1 and $action == "doimagedelete")){ msg("error", "Access Denied", "You don't have permission to manage images"); }
$allowed_extensions = array("gif", "jpg", "png", "bmp", "jpe", "jpeg");
// ********************************************************************************
// Show Preview of Image
// ********************************************************************************
if($action == "preview"){
echo <<<PREVIEWHTML
<HTML>
<HEAD>
<TITLE>Image Preview</TITLE>
<script language='javascript'>
var NS = (navigator.appName=="Netscape")?true:false;
function fitPic() {
iWidth = (NS)?window.innerWidth:document.body.clientWidth;
iHeight = (NS)?window.innerHeight:document.body.clientHeight;
iWidth = document.images[0].width - iWidth;
iHeight = document.images[0].height - iHeight;
window.resizeBy(iWidth, iHeight-1);
self.focus();
};
</script>
</HEAD>
<BODY bgcolor="#FFFFFF" onload='fitPic();' topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">
<script language='javascript'>
document.write( "<img src='$config_http_script_dir/data/upimages/$image' border=0>" );
</script>
</BODY>
</HTML>
PREVIEWHTML;
}
// ********************************************************************************
// Show Images List
// ********************************************************************************
elseif($action != "doimagedelete")
{
if($action == "quick")
{
echo"<html>
<head>
<title>Insert Image</title>
<style type=\"text/css\">
<!--
select, option, textarea, input {
BORDER: #808080 1px solid;
COLOR: #000000;
FONT-SIZE: 11px;
FONT-FAMILY: Verdana; BACKGROUND-COLOR: #ffffff
}
BODY, TD {text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt;}
a:active, a:visited, a:link {font-size : 10px; color: #808080; font-family: verdana; text-decoration: none;}
a:hover {font-size : 10px; color: darkblue; font-weight:bold; text-decoration: none; }
.panel { border: 1px dotted silver; background-color: #F7F6F4;}
-->
</style>
</head>
<body bgcolor=#FFFFFF>
<script language=\"javascript\" type=\"text/javascript\">
<!--
function insertimage(selectedImage) {
var area = '$area';
alternativeText = document.forms['properties'].alternativeText.value;
imageAlign = document.forms['properties'].imageAlign.value;
imageBorder = document.forms['properties'].imageBorder.value;
//finalImage = \" <img style=\\\"border:\"+ imageBorder +\"; vertical-align:\"+ imageAlign +\";\\\" alt=\\\"\"+ alternativeText +\"\\\" src=\\\"$config_http_script_dir/data/upimages/\"+ selectedImage +\"\\\">\";
finalImage = \" <img border=\\\"\"+ imageBorder +\"\\\" align=\\\"\"+ imageAlign +\"\\\" alt=\\\"\"+ alternativeText +\"\\\" src=\\\"$config_http_script_dir/data/upimages/\"+ selectedImage +\"\\\">\";
";
if($wysiwyg){
echo"
MYRTE=window.opener.document.getElementById(area).contentWindow;
window.opener.currentRTE=area; MYRTE.document.execCommand('InsertImage', false, '-my-temp-img-url-');
replacement = \"$config_http_script_dir/data/upimages/\" + selectedImage + \"\\\" alt=\\\"\" + alternativeText + \"\\\" border=\\\"\" + imageBorder + \"\\\" align=\\\"\" + imageAlign;
MYRTE.document.body.innerHTML = MYRTE.document.body.innerHTML.replace(/-my-temp-img-url-/gi, replacement);
";
}
else{ echo"opener.document.getElementById(area).value += finalImage;"; }
// echo"alert(finalImage);";
echo"
window.close();
//opener.document.getElementById(area).focus();
}
function PopupPic(sPicURL) {
window.open('$PHP_SELF?mod=images&action=preview&image='+sPicURL, '', 'resizable=1, HEIGHT=200, WIDTH=200');
}
window.resizeTo(410, 550);
self.focus();
//-->
</script>";
}else{ echoheader("images", "Manage Images"); }
// ********************************************************************************
// Upload Image(s)
// ********************************************************************************
if($subaction == "upload")
{
for ($image_i = 1; $image_i < ($images_number+1); $image_i++) {
$current_image = 'image_'.$image_i;
$image = $_FILES[$current_image]['tmp_name'];
$image_name = $_FILES[$current_image]['name'];
$image_name = str_replace(" ", "_", $image_name);
$img_name_arr = explode(".", $image_name);
$type = end($img_name_arr);
if($image_name == ""){ $img_result .= "<br><font color=red>$current_image -> No File Specified For Upload!</font>"; }
elseif( !isset($overwrite) and file_exists($config_path_image_upload."/".$image_name)){ $img_result .= "<br><font color=red>$image_name -> Image already exist!</font>";}
elseif( !(in_array($type, $allowed_extensions) or in_array(strtolower($type), $allowed_extensions)) ){
$img_result .= "<br><font color=red>$image_name ->This type of file is not allowed !!!</font>";
}
else{ //Image is OK, upload it
@copy($image, $config_path_image_upload."/".$image_name) or $img_result .= "<br><font color=red>$image_name -> Couldn't copy image to server</font><br />Check if file_uploads is allowed in the php.ini file of your server";
if(file_exists($config_path_image_upload."/".$image_name))
{
$img_result .= "<br><font color=green>$image_name -> Image was uploaded</font>";
if($action == "quick"){
$img_result .= " <a title=\"Inser this image in the $my_area\" href=\"javascript:insertimage('$image_name');\">[insert it]</a>";
}
}//if file is uploaded succesfully
}
}
}
//
// Add the JS for multyple image upload.
//
echo<<<HTMLJS
<script language='javascript'>
function AddRowsToTable() {
var tbl = document.getElementById('tblSample');
var lastRow = tbl.rows.length;
// if there's no header row in the table, then iteration = lastRow + 1
var iteration = lastRow+1;
var row = tbl.insertRow(lastRow);
var cellRight = row.insertCell(0);
var el = document.createElement('input');
el.setAttribute('type', 'file');
el.setAttribute('name', 'image_' + iteration);
el.setAttribute('size', '30');
el.setAttribute('value', iteration);
cellRight.appendChild(el);
document.getElementById('images_number').value = iteration;
}
function RemoveRowFromTable() {
var tbl = document.getElementById('tblSample');
var lastRow = tbl.rows.length;
if (lastRow > 1){
tbl.deleteRow(lastRow - 1);
document.getElementById('images_number').value = document.getElementById('images_number').value - 1;
}
}
</script>
HTMLJS;
echo<<<HTML
<form name="form" id="form" action="$PHP_SELF?mod=images" method="post" enctype="multipart/form-data">
<table border=0 cellpading=0 cellspacing=0 width=100%>
<td height=33>
<b>Upload Image</b>
<table border=0 cellpading=0 cellspacing=0 class="panel" cellpadding=8>
<tr>
<td height=25>
<table border="0" cellspacing="0" cellpadding="0" id="tblSample">
<tr id="row">
<td width="1" colspan="2"><input type="file" size="30" name="image_1"></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" style="margin-top:5px;">
<tr>
<td>
<INPUT TYPE="SUBMIT" name="submit" VALUE="Upload" style="font-weight:bold;">
<input type=button value='-' style="font-weight:bold; width:22px;" title='Remove last file input box' onClick="RemoveRowFromTable();return false;">
<input type=button value='+' style="font-weight:bold; width:22px;" title='Add another file input box' onClick="AddRowsToTable();return false;">
<input style="border:0px; background-color:#F7F6F4;" type=checkbox name=overwrite id=overwrite value=1><label title='Overwrite file(s) if exist' for=overwrite> Overwrite</label>
</td>
</tr>
</table>
$img_result
</table>
<input type=hidden name=wysiwyg value='$wysiwyg'>
<input type=hidden name=subaction value=upload>
<input type=hidden name=area value='$area'>
<input type=hidden name=action value='$action'>
<input type=hidden name='images_number' id='images_number' value='1'>
</form>
HTML;
if($action == "quick"){
echo"
<form name=properties>
<table style='margin-top:10px;' border=0 cellpading=0 cellspacing=0 width=100%>
<td height=33>
<b>Image Properties</b>
<table border=0 cellpading=0 cellspacing=0 class=\"panel\" style='padding:5px'width=290px; >
<tr>
<td width=80>Alt. Text: </td>
<td><input tabindex=1 type=text name=alternativeText style=\"width:150;\"></td>
</tr>
<tr>
<td>Image Align</td>
<td>
<select name='imageAlign' style='width:150'>
<option value=none>None</option>
<option value=left>Left</option>
<option value=right>Right</option>
</select>
</td>
</tr>
<tr>
<td>Border</td>
<td><input type=text value='0' name=imageBorder style=\"width:35\"> pixels</td>
</tr>
</table>
</table></form>";
}
echo"<tr><td><img height=1 style=\"height: 13px !important; height: 1px;\" border=0 src=\"skins/images/blank.gif\" width=1></tr><tr><td>
<b>Uploaded Images</b>
</tr>
<tr >
<td height=1>
<FORM action='$PHP_SELF?mod=images' METHOD='POST'>
<table width=100% height=100% cellspacing=0 cellpadding=0>";
$img_dir = opendir($config_path_image_upload);
$i = 0;
while ($file = readdir($img_dir))
{
//Yes we'll store them in array for sorting
$images_in_dir[] = $file;
}
natcasesort($images_in_dir);
reset($images_in_dir);
foreach ($images_in_dir as $file) {
$img_name_arr = explode(".", $file);
$img_type = end($img_name_arr);
if ( (in_array($img_type, $allowed_extensions) or in_array(strtolower($img_type), $allowed_extensions)) and $file != ".." and $file != "." and is_file($config_path_image_upload."/".$file))
{
$i++;
$this_size = filesize($config_path_image_upload."/".$file);
$total_size += $this_size;
$img_info = getimagesize($config_path_image_upload."/".$file);
if( $i%2 != 0 ){ $bg = "bgcolor=#F7F6F4"; }
else{ $bg = ""; }
if($action == "quick")
{
$my_area = str_replace("_", " ", $area);
echo"
<tr $bg><td height=16 width=1px> <a title='Preview this image' href=\"javascript:PopupPic('$file')\"><img style='border:0px;' src='skins/images/view_image.gif'></a>
<td height=16 width=100%>
<a title=\"Insert this image in the $my_area\" href=\"javascript:insertimage('$file')\">$file</a>
<td height=16 align=right>
$img_info[0]x$img_info[1]
<td height=16 align=right>
". formatsize($this_size) ."
</tr>";
}
else
{
echo"<tr $bg><td height=16>
<td height=16 width=63% >
<a target=_blank href=\"". $config_path_image_upload ."/$file\">$file</a>
<td height=16 align=right>
$img_info[0]x$img_info[1]
<td height=16 align=right>
". formatsize($this_size) ."
<td width=70 height=16 align=right>
<input type=checkbox name=images[$file] value=\"$file\">
</tr>";
}
}
}
if($i > 0){
echo"<tr ><td height=16>";
if($action != "quick"){
echo" <td colspan=4 align=right>
<br><input type=submit value='Delete Selected Images'>
</tr>";
}
echo"<tr heigh=1>
<td width=14>
<td >
<br /><b>Total size</b>
<td>
<td align=right>
<br /><b>". formatsize($total_size) .'</b>
</tr>';
}
echo'
</table><input type=hidden name=action value=doimagedelete></form></table>';
if($action != "quick"){ echofooter(); }
}
// ********************************************************************************
// Delete Image
// ********************************************************************************
elseif($action == "doimagedelete")
{
if(!isset($images)){ msg("info", "No Images selected", "You must select images to be deleted.", "$PHP_SELF?mod=images"); }
// if(!file_exists($config_path_image_upload."/".$image) or !$image){ msg("error", "Error !!!", "Could not delete image", "$PHP_SELF?mod=images"); }
foreach($images as $image){
unlink($config_path_image_upload."/".$image) or print("Could not delete image <b>$file</b>");
}
msg("info", "Image(s) Deleted", "The image was successfully deleted.", "$PHP_SELF?mod=images");
}
?>
Other News Publishing Scripts: