mirror of
https://github.com/e107inc/e107.git
synced 2025-08-05 06:07:32 +02:00
Session quick fix. Image resizing etc.
This commit is contained in:
@@ -67,7 +67,7 @@ if($_GET['action'] == 'nav' && e_AJAX_REQUEST) //XXX Doesn't work correctly insi
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require(e_HANDLER.'phpthumb/ThumbLib.inc.php'); // For resizing on import.
|
||||||
|
|
||||||
$e_sub_cat = 'image';
|
$e_sub_cat = 'image';
|
||||||
|
|
||||||
@@ -277,6 +277,7 @@ class media_form_ui extends e_admin_form_ui
|
|||||||
$this->cats[$cat] = $row['media_cat_title'];
|
$this->cats[$cat] = $row['media_cat_title'];
|
||||||
}
|
}
|
||||||
asort($this->cats);*/
|
asort($this->cats);*/
|
||||||
|
// require(e_HANDLER.'phpthumb/ThumbLib.inc.php'); // For resizing on import.
|
||||||
|
|
||||||
if(varset($_POST['multiselect']) && varset($_POST['e__execute_batch']) && (varset($_POST['etrigger_batch']) == 'options__rotate_cw' || varset($_POST['etrigger_batch']) == 'options__rotate_ccw'))
|
if(varset($_POST['multiselect']) && varset($_POST['e__execute_batch']) && (varset($_POST['etrigger_batch']) == 'options__rotate_cw' || varset($_POST['etrigger_batch']) == 'options__rotate_ccw'))
|
||||||
{
|
{
|
||||||
@@ -285,6 +286,16 @@ class media_form_ui extends e_admin_form_ui
|
|||||||
$this->rotateImages($ids,$type);
|
$this->rotateImages($ids,$type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(varset($_POST['multiselect']) && varset($_POST['e__execute_batch']) && (varset($_POST['etrigger_batch']) == 'options__resize_2048' ))
|
||||||
|
{
|
||||||
|
$type = str_replace('options__','',$_POST['etrigger_batch']);
|
||||||
|
$ids = implode(",",$_POST['multiselect']);
|
||||||
|
$this->resizeImages($ids,$type);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function resize_method($curval)
|
function resize_method($curval)
|
||||||
@@ -305,6 +316,8 @@ class media_form_ui extends e_admin_form_ui
|
|||||||
$sql = e107::getDb();
|
$sql = e107::getDb();
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
$mes = e107::getMessage();
|
$mes = e107::getMessage();
|
||||||
|
ini_set('memory_limit', '150M');
|
||||||
|
ini_set('gd.jpeg_ignore_warning', 1);
|
||||||
|
|
||||||
$degrees = ($type == 'rotate_cw') ? 270 : 90;
|
$degrees = ($type == 'rotate_cw') ? 270 : 90;
|
||||||
|
|
||||||
@@ -322,22 +335,114 @@ class media_form_ui extends e_admin_form_ui
|
|||||||
|
|
||||||
$source = imagecreatefromjpeg($original);
|
$source = imagecreatefromjpeg($original);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
$rotate = imagerotate($source, $degrees, 0);
|
$rotate = imagerotate($source, $degrees, 0);
|
||||||
|
}
|
||||||
|
catch (Exception $e)
|
||||||
|
{
|
||||||
|
$mes->addError("Not enough memory available to rotate: ".basename($original));
|
||||||
|
}
|
||||||
|
|
||||||
$srch = array(".jpg",".jpeg");
|
$srch = array(".jpg",".jpeg");
|
||||||
$cacheFile = str_replace($srch,"",strtolower(basename($original)))."_(.*)\.cache\.bin";
|
$cacheFile = str_replace($srch,"",strtolower(basename($original)))."_(.*)\.cache\.bin";
|
||||||
|
|
||||||
if(imagejpeg($rotate,$original,100))
|
try
|
||||||
{
|
{
|
||||||
|
imagejpeg($rotate,$original,80);
|
||||||
$mes->addSuccess("Rotated: ".basename($original));
|
$mes->addSuccess("Rotated: ".basename($original));
|
||||||
e107::getCache()->clearAll('image',$cacheFile);
|
e107::getCache()->clearAll('image',$cacheFile);
|
||||||
$mes->addDebug("Clearing Image cache with mask: ".$cacheFile);
|
$mes->addDebug("Clearing Image cache with mask: ".$cacheFile);
|
||||||
}
|
}
|
||||||
|
catch (Exception $e)
|
||||||
|
{
|
||||||
|
$mes->addError("Not enough memory available to rotate: ".basename($original));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function resize_dimensions($curval) // ie. never manually resize another image again!
|
/**
|
||||||
|
* Resize a single image.
|
||||||
|
* @param string
|
||||||
|
* @param int
|
||||||
|
* @param int
|
||||||
|
*/
|
||||||
|
private function resizeImage($oldpath,$img_import_w,$img_import_h)
|
||||||
|
{
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$thumb = PhpThumbFactory::create($oldpath);
|
||||||
|
$thumb->setOptions(array('correctPermissions' => true));
|
||||||
|
}
|
||||||
|
catch (Exception $e)
|
||||||
|
{
|
||||||
|
$mes->addError($e->getMessage());
|
||||||
|
return FALSE;
|
||||||
|
// return $this;
|
||||||
|
}
|
||||||
|
if($WM) // TODO Add watermark prefs for alpha and position.
|
||||||
|
{
|
||||||
|
$thumb->resize($img_import_w,$img_import_h)->addWatermark($watermark, 'rightBottom', 30, 0, 0)->save($oldpath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($thumb->resize($img_import_w,$img_import_h)->save($oldpath))
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private function resizeImages($ids,$type)
|
||||||
|
{
|
||||||
|
|
||||||
|
$sql = e107::getDb();
|
||||||
|
$sql2 = e107::getDb('sql2');
|
||||||
|
$mes = e107::getMessage();
|
||||||
|
$tp = e107::getParser();
|
||||||
|
$fl = e107::getFile();
|
||||||
|
|
||||||
|
// Max size is 6 megapixel.
|
||||||
|
$img_import_w = 2816;
|
||||||
|
$img_import_h = 2112;
|
||||||
|
|
||||||
|
if($sql->db_Select("core_media","media_id,media_url","media_id IN (".$ids.") AND media_type = 'image/jpeg' "))
|
||||||
|
{
|
||||||
|
while($row = $sql->db_Fetch())
|
||||||
|
{
|
||||||
|
$path = $tp->replaceConstants($row['media_url']);
|
||||||
|
|
||||||
|
$mes->addDebug("Attempting to resize: ".basename($path));
|
||||||
|
|
||||||
|
if($this->resizeImage($path,$img_import_w,$img_import_h))
|
||||||
|
{
|
||||||
|
|
||||||
|
$info = $fl->get_file_info($path);
|
||||||
|
$mes->addSuccess("Resizing: ".basename($path));
|
||||||
|
$mes->addSuccess(print_a($info,true));
|
||||||
|
$dim = intval($info['img-width'])." x ".intval($info['img-height']);
|
||||||
|
$sql2->db_Update("core_media","media_dimensions = '".$dim."', media_size = '".intval($info['fsize'])."' WHERE media_id = ".intval($row['media_id'])." LIMIT 1");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mes->addError("Resizing: ".basename($path));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function resize_dimensions($curval) // ie. never manually resize another image again!
|
||||||
{
|
{
|
||||||
$text = "";
|
$text = "";
|
||||||
$frm = e107::getForm();
|
$frm = e107::getForm();
|
||||||
@@ -388,6 +493,7 @@ class media_form_ui extends e_admin_form_ui
|
|||||||
if($value == 'batch')
|
if($value == 'batch')
|
||||||
{
|
{
|
||||||
return array(
|
return array(
|
||||||
|
"resize_2048" => "Reduce Oversized Images",
|
||||||
"rotate_cw" => "Rotate 90° cw",
|
"rotate_cw" => "Rotate 90° cw",
|
||||||
"rotate_ccw" => "Rotate 90° ccw"
|
"rotate_ccw" => "Rotate 90° ccw"
|
||||||
);
|
);
|
||||||
@@ -1413,11 +1519,12 @@ class media_admin_ui extends e_admin_ui
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>";
|
<tbody>";
|
||||||
|
|
||||||
$c = 0;
|
// $c = 0;
|
||||||
foreach($files as $f)
|
foreach($files as $f)
|
||||||
{
|
{
|
||||||
$default = $this->getFileXml($f['fname']);
|
$default = $this->getFileXml($f['fname']);
|
||||||
$f = $fl->cleanFileName($f,true);
|
$f = $fl->cleanFileName($f,true);
|
||||||
|
$c = md5($f['path'].$f['fname']);
|
||||||
|
|
||||||
if($f['error'])
|
if($f['error'])
|
||||||
{
|
{
|
||||||
@@ -1434,16 +1541,15 @@ class media_admin_ui extends e_admin_ui
|
|||||||
<td>".$frm->text('batch_import_name['.$c.']', ($_POST['batch_import_name'][$c] ? $_POST['batch_import_name'][$c] : $default['title']))."</td>
|
<td>".$frm->text('batch_import_name['.$c.']', ($_POST['batch_import_name'][$c] ? $_POST['batch_import_name'][$c] : $default['title']))."</td>
|
||||||
<td><textarea name='batch_import_diz[".$c."]' rows='3' cols='50'>". ($_POST['batch_import_diz'][$c] ? $_POST['batch_import_diz'][$c] : $default['description'])."</textarea></td>
|
<td><textarea name='batch_import_diz[".$c."]' rows='3' cols='50'>". ($_POST['batch_import_diz'][$c] ? $_POST['batch_import_diz'][$c] : $default['description'])."</textarea></td>
|
||||||
|
|
||||||
<td><a href='mailto:".$default['authorEmail']."'>".$default['authorName']."</a></td>
|
<td><a href='mailto:".$default['authorEmail']."'>".$default['authorName']."</a><br />".$default['authorEmail']."</td>
|
||||||
<td>".$f['mime']."</td>
|
<td>".$f['mime']."</td>
|
||||||
<td>".$f['fsize']."</td>
|
<td>".$f['fsize']."</td>
|
||||||
<td>".e107::getDateConvert()->convert_date($f['modified'])."</td>
|
<td>".e107::getDateConvert()->convert_date($f['modified'])."</td>
|
||||||
<td class='center last'>".$f['img-width']." x ".$f['img-height']."</td>
|
<td class='center last'>".$f['img-width']." x ".$f['img-height']."</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
\n";
|
\n";
|
||||||
|
|
||||||
$c++;
|
// $c++;
|
||||||
$lastMime = $f['mime'];
|
$lastMime = $f['mime'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1561,6 +1667,9 @@ class media_admin_ui extends e_admin_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function batchImport()
|
function batchImport()
|
||||||
{
|
{
|
||||||
$fl = e107::getFile();
|
$fl = e107::getFile();
|
||||||
@@ -1576,7 +1685,7 @@ class media_admin_ui extends e_admin_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
require(e_HANDLER.'phpthumb/ThumbLib.inc.php'); // For resizing on import.
|
|
||||||
list($img_import_w,$img_import_h) = explode("x",e107::getPref('img_import_resize'));
|
list($img_import_w,$img_import_h) = explode("x",e107::getPref('img_import_resize'));
|
||||||
|
|
||||||
if(vartrue($_POST['batch_import_watermark']))
|
if(vartrue($_POST['batch_import_watermark']))
|
||||||
@@ -1591,8 +1700,8 @@ class media_admin_ui extends e_admin_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Disable resize-on-import and watermark for now.
|
// Disable resize-on-import and watermark for now.
|
||||||
$img_import_w = false;
|
$img_import_w = 2816;
|
||||||
$img_import_h = false;
|
$img_import_h = 2112;
|
||||||
|
|
||||||
foreach($_POST['batch_selected'] as $key=>$file)
|
foreach($_POST['batch_selected'] as $key=>$file)
|
||||||
{
|
{
|
||||||
@@ -1602,28 +1711,7 @@ class media_admin_ui extends e_admin_ui
|
|||||||
// Resize on Import Routine ------------------------
|
// Resize on Import Routine ------------------------
|
||||||
if(vartrue($img_import_w) && vartrue($img_import_h))
|
if(vartrue($img_import_w) && vartrue($img_import_h))
|
||||||
{
|
{
|
||||||
try
|
// $this->resizeImage($file,$img_import_w,$img_import_h);
|
||||||
{
|
|
||||||
$thumb = PhpThumbFactory::create($oldpath);
|
|
||||||
$thumb->setOptions(array('correctPermissions' => true));
|
|
||||||
}
|
|
||||||
catch (Exception $e)
|
|
||||||
{
|
|
||||||
$mes->addError($e->getMessage());
|
|
||||||
continue;
|
|
||||||
// return $this;
|
|
||||||
}
|
|
||||||
if($WM) // TODO Add watermark prefs for alpha and position.
|
|
||||||
{
|
|
||||||
$thumb->resize($img_import_w,$img_import_h)->addWatermark($watermark, 'rightBottom', 30, 0, 0)->save($oldpath);
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$thumb->resize($img_import_w,$img_import_h)->save($oldpath);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// End Resize routine. ---------------------
|
// End Resize routine. ---------------------
|
||||||
|
|
||||||
|
@@ -606,7 +606,7 @@ class e_session
|
|||||||
|
|
||||||
// just for now
|
// just for now
|
||||||
$msg = 'Session validation failed! <a href="'.strip_tags($_SERVER['REQUEST_URI']).'">Go Back</a>';
|
$msg = 'Session validation failed! <a href="'.strip_tags($_SERVER['REQUEST_URI']).'">Go Back</a>';
|
||||||
die($msg);
|
// die($msg); //FIXME not functioning as intended.
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
@@ -15,8 +15,10 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
require_once('../../class2.php');
|
require_once('../../class2.php');
|
||||||
$e107 = e107::getInstance();
|
if(!e107::isInstalled('pdf') || !e_QUERY)
|
||||||
if (!$e107->isInstalled('calendar_menu') || !e_QUERY) header('Location: '.e_BASE.'index.php');
|
{
|
||||||
|
header('Location: '.e_BASE.'index.php');
|
||||||
|
}
|
||||||
|
|
||||||
$qs = explode('.', e_QUERY,2);
|
$qs = explode('.', e_QUERY,2);
|
||||||
$source = $qs[0];
|
$source = $qs[0];
|
||||||
|
@@ -29,7 +29,7 @@ define('e107_INIT', true);
|
|||||||
|
|
||||||
|
|
||||||
error_reporting(0); // suppress all errors or image will be corrupted.
|
error_reporting(0); // suppress all errors or image will be corrupted.
|
||||||
|
ini_set('gd.jpeg_ignore_warning', 1);
|
||||||
//require_once './e107_handlers/benchmark.php';
|
//require_once './e107_handlers/benchmark.php';
|
||||||
//$bench = new e_benchmark();
|
//$bench = new e_benchmark();
|
||||||
//$bench->start();
|
//$bench->start();
|
||||||
|
Reference in New Issue
Block a user