File Manager

Current Path : /webspace/www.babilon.be/html/modules/Gallery/
Upload File :
Current File : //webspace/www.babilon.be/html/modules/Gallery/action.editgallery.php

<?php

if( !$gCms ) exit();

if( !$this->CheckPermission('Use Gallery') ) 
{
	echo $this->ShowErrors(lang('needpermissionto', 'Use Gallery'));
	return;
}

$themeObject =& $gCms->variables['admintheme'];


// check parameters
if( !isset($params['gid']) || !isset($params['mode']) )
{
	$params['module_error'] = lang('missingparams');
	$this->Redirect($id,'defaultadmin','',$params);
	return;
}

$params['origaction'] = $params['action'];

$galleryinfo = Gallery_utils::Getgalleryinfobyid($params['gid']);

// check permission to edit
$userid = get_userid();
$editors = explode(';', $galleryinfo['editors']);
if ( Gallery_utils::CheckEditor($userid, $params['gid'], $editors) )
{
	$permission_to_edit = TRUE;
	$disabled = '';
}
else
{
	$permission_to_edit = FALSE;
	$disabled = ' disabled="disabled"';
}

$defaulttemplate = $this->GetPreference('current_template');
if ( $galleryinfo['templateid'] == 0 )
{
	// override template settings with default template
	$templateprops = Gallery_utils::GetTemplateprops($defaulttemplate);
	$galleryinfo['thumbwidth'] = $templateprops['thumbwidth'];
	$galleryinfo['sortitems'] = $templateprops['sortitems'];
}

$totaloffileorder = 0;
$numberofimages = 0;
if( $params['mode'] == 'add' )
{
	$smarty->assign('formstart', $this->CreateFormStart ($id, 'do_editgallery',$returnid,'post','', false, '', $params));

	$smarty->assign('prompt_directoryname', $this->Lang('directoryname'));
	$smarty->assign('directoryname', $this->CreateInputText( $id, 'directoryname', "", 40, 100 ));
	$smarty->assign('gallerytitle', $this->CreateInputText( $id, 'gallerytitle', "", 40, 100 ));
	$smarty->assign('gallerycomment', $this->CreateTextArea($this->GetPreference('use_comment_wysiwyg',1), $id, "", 'gallerycomment', 'fake" style="height:6em;', '', '', '', '80', '3'));
	if ( $this->GetPreference('editdirdates') )
	{
		$smarty->assign('gallerydate', $this->CreateInputText( $id, 'gallerydate', Date('Y-m-d'), 10, 10));
	}
	else
	{
		$smarty->assign('gallerydate', "");
	}
	$smarty->assign('hideparentlink', $this->CreateInputCheckbox($id, 'hideparentlink', true));

	$smarty->assign('addgallery', '');
	$smarty->assign('addimages', '');
}
else 
{
	$gallerypath = $galleryinfo['filepath'] . $galleryinfo['filename'];
	Gallery_utils::UpdateGalleryDB($gallerypath,$params['gid']);
	$gallery = Gallery_utils::Getgalleryfiles($gallerypath);
	$folderpath = $this->GetPreference('be_folderpath');

	$showgallery = array();
	$trueimage = $themeObject->DisplayImage('icons/system/true.gif', $this->Lang('setfalse'),'','','systemicon');
	$falseimage = $themeObject->DisplayImage('icons/system/false.gif', $this->Lang('settrue'),'','','systemicon');
	$falseimage2 = $themeObject->DisplayImage('icons/system/false.gif', $this->Lang('noalbumcover'),'','','systemicon');

	// SWFUpload settings
	$ext = explode(',', $this->GetPreference('allowed_extensions',''));
	$filetypes = '*.' . implode(';*.', $ext);
	$filedesc = ' Images: ' . implode('; ', $ext);
	$filesize = str_replace('M',' MB',get_cfg_var('post_max_size'));
	$smarty->assign('file_size_limit', $filesize);
	$smarty->assign('file_types', $filetypes);
	$smarty->assign('file_types_description', $filedesc);
	$smarty->assign('msg_complete', '&' . $id . 'module_message=' . rawurlencode($this->Lang('galleryupdated')));


	foreach ($gallery as $file)
	{
		$onerow = new stdClass();

		$params['fid'] = $file['fileid'];

		$onerow->fileid = $file['fileid'];
		$onerow->fileorder = $file['fileorder'];
		$totaloffileorder += $file['fileorder'];
		$onerow->file = $file['filename'];

		$params['multiaction'] = 'switchactive';
		$onerow->active = $this->CreateInputHidden($id, 'fileactive[' . $file['fileid'] . ']', $file['active']);
		$onerow->activelink = $this->CreateLink($id, 'multiaction', $returnid, ($file['active'] ? $trueimage : $falseimage), $params);
		unset($params['multiaction']);

		if ( substr($file['filename'],-1) == "/" )
		{
			// record is a directory
			$onerow->thumburl = '../' . $folderpath;
			$onerow->thumb = '<img src="' . $onerow->thumburl . '" alt="' . $file['filename'] . '" />';
			$onerow->filename = $file['filename'];
			$onerow->filename_input = '';
			$onerow->title = $file['title'];
			$onerow->title_input = $this->CreateLink($id, 'editgallery', $returnid, $file['filename'], array('gid' => $file['fileid'] ,'mode' => 'edit')) . $this->CreateInputHidden($id, 'filetitle[' . $file['fileid'] . ']', '#dir');
			$onerow->titlename = empty($file['title']) ? $file['filename'] : $file['title'];
			$onerow->comment = $file['comment'];
			$onerow->comment_input = "";
			$onerow->filedate = $file['filedate'];
			$onerow->filedate_input = $this->GetPreference('editdirdates') ? substr($file['filedate'], 0, 10) : "";
			if ( $file['defaultfile'] == 0 )
			{
				$onerow->defaultlink = $falseimage2;
			}
			elseif ( $file['defaultfile'] == $galleryinfo['defaultfile'] )
			{
				$params['fid'] = 0;
				$onerow->defaultlink = $this->CreateLink($id, 'switchdefault', $returnid, $trueimage, $params);
			}
			else
			{
				$params['fid'] = $file['defaultfile'];
				$onerow->defaultlink = $this->CreateLink($id, 'switchdefault', $returnid, $falseimage, $params);
			}
			$onerow->isdir = 1;
			$onerow->editlink = $this->CreateLink($id, 'editgallery', $returnid,
				$gCms->variables['admintheme']->DisplayImage('icons/system/edit.gif', $this->Lang ('edit'), '', '', 'systemicon'),
				array('gid' => $file['fileid'] ,'mode' => 'edit'));
			$onerow->editurl = $this->CreateLink($id, 'editgallery', $returnid, '',
				array('gid' => $file['fileid'] ,'mode' => 'edit'), '', true);
			$onerow->edittext = $this->Lang ('edit');
			$onerow->deletelink = $this->CheckPermission('Gallery - Edit all galleries') ?
				$this->CreateLink($id, 'multiaction', $returnid,
				$gCms->variables['admintheme']->DisplayImage('icons/system/delete.gif', $this->Lang ('delete'), '', '', 'systemicon'),
				array ('multiaction' => 'delete', 'gid' => $file['galleryid'], 'fid' => $file['fileid'], 'origaction' => 'editgallery'), $this->Lang ('areyousure'))
				: '';
		}
		else
		{
			$numberofimages++;
			$onerow->thumburl = '../' . DEFAULT_GALLERY_PATH . str_replace('%2F','/',rawurlencode($file['filepath'] . IM_PREFIX . $file['filename']));
			$onerow->thumb = '<img src="' . $onerow->thumburl . '" alt="' . $file['filename'] . '" />';
			$onerow->filename = $file['filename'];
			$onerow->filename_input = $file['filename'];
			$onerow->title = $file['title'];
			$onerow->title_input = $this->CreateInputText($id, 'filetitle[' . $file['fileid'] . ']', $file['title'], 30, 100, $disabled);
			$onerow->titlename = empty($file['title']) ? $file['filename'] : $file['title'];
			$onerow->comment = $file['comment'];
			$onerow->comment_input = $this->CreateTextArea(0, $id, $file['comment'], 'filecomment[' . $file['fileid'] . ']', 'fake" style="width:250px; height:4em;', '', '', '', '40', '4', '', '', $disabled);  // class filled with fake and style-info to overrule the theme-css
			$onerow->filedate = $file['filedate'];
			if ( $this->GetPreference('editfiledates') )
			{
				$onerow->filedate_input = $this->CreateInputText( $id, 'filedate[' . $file['fileid'] . ']', substr($file['filedate'], 0, 10), 10, 10, $disabled);
			}
			else
			{
				$onerow->filedate_input = $file['filedate'];
			}
			if ( $file['fileid'] == $galleryinfo['defaultfile'] )
			{
				$params['fid'] = 0;
				$onerow->defaultlink = $permission_to_edit ? $this->CreateLink($id, 'switchdefault', $returnid, $trueimage, $params) : $trueimage;
			}
			else
			{
				$onerow->defaultlink = $permission_to_edit ? $this->CreateLink($id, 'switchdefault', $returnid, $falseimage, $params) : $falseimage;
			}
			$onerow->isdir = 0;
			if ( !file_exists('../' . DEFAULT_GALLERY_PATH . $file['filepath'] . IM_PREFIX . $file['filename']) )
			{
				Gallery_utils::CreateThumbnail('../' . DEFAULT_GALLERY_PATH . $file['filepath'] . IM_PREFIX . $file['filename'],
										'../' . DEFAULT_GALLERY_PATH . $file['filepath'] . $file['filename'],
										IM_THUMBWIDTH, IM_THUMBHEIGHT, 'sc');
			}
			$onerow->editlink = $permission_to_edit ?
				$this->CreateLink($id, 'editimage', $returnid,
				$gCms->variables['admintheme']->DisplayImage('icons/system/edit.gif', $this->Lang ('editimage'), '', '', 'systemicon'),
				array('fid' => $file['fileid'] ,'mode' => 'edit'))
				: '';
			$onerow->editurl = $permission_to_edit ?
				$this->CreateLink($id, 'editimage', $returnid, '',
				array('fid' => $file['fileid'] ,'mode' => 'edit'), '', true)
				: '';
			$onerow->edittext = $this->Lang ('editimage');
			$onerow->deletelink = $permission_to_edit ?
				$this->CreateLink($id, 'multiaction', $returnid,
				$gCms->variables['admintheme']->DisplayImage('icons/system/delete.gif', $this->Lang ('delete'), '', '', 'systemicon'),
				array ('multiaction' => 'delete', 'gid' => $file['galleryid'], 'fid' => $file['fileid'], 'origaction' => 'editgallery'), $this->Lang ('areyousure'))
				: '';
			$onerow->activelink = $permission_to_edit ? $onerow->activelink : ($file['active'] ? $trueimage : $falseimage);
		}

		$onerow->imgselect = $this->CreateInputCheckbox($id, 'imgselect[' . $file['fileid'] . ']', 1);

		if ( $file['fileid'] != 1 )
		{
			array_push($showgallery, $onerow);
		}
	}

	$sortarray = explode('/','n+fileorder/'.$galleryinfo['sortitems']);
	$showgallery = Gallery_utils::ArraySort($showgallery, $sortarray, false);

	$smarty->assign_by_ref('items', $showgallery);
	$smarty->assign('itemcount', count($showgallery));
	$smarty->assign('item', $this->Lang('item'));
	$smarty->assign('title', $this->Lang('title'));
	$smarty->assign('comment', $this->Lang('comment'));
	$smarty->assign('filedate', $this->Lang('date'));
	$smarty->assign('cover', $this->Lang('albumcover'));
	$smarty->assign('active', $this->Lang('active'));

	$smarty->assign('nofilestext', $this->lang("nofilestext"));
	$smarty->assign('formstart', $this->CreateFormStart ($id, 'do_editgallery',$returnid,'post','', false, '', $params));

	$smarty->assign('gallerytitle', $this->CreateInputText( $id, 'gallerytitle', $galleryinfo['title'], 40, 100, $disabled ));
	$smarty->assign('gallerycomment', $this->CreateTextArea($this->GetPreference('use_comment_wysiwyg',1), $id, $galleryinfo['comment'], 'gallerycomment', 'fake" style="height:6em;', '', '', '', '80', '3', '', '', $disabled));
	if ( $this->GetPreference('editdirdates') )
	{
		$smarty->assign('gallerydate', $this->CreateInputText( $id, 'gallerydate', substr($galleryinfo['filedate'], 0, 10), 10, 10, $disabled));
	}
	else
	{
		$smarty->assign('gallerydate', "");
	}
	$smarty->assign('hideparentlink', $this->CreateInputCheckbox($id, 'hideparentlink', true, $galleryinfo['hideparentlink'], $params['gid'] == 1 ? 'disabled="disabled"' : $disabled));

	$smarty->assign('addgallery',
		!$this->GetPreference('use_permissions') || $this->CheckPermission('Gallery - Add subgalleries') ?
			$this->CreateLink($id, 'editgallery', $returnid,
						$themeObject->DisplayImage('icons/system/newfolder.gif', $this->Lang('addsubgallery'),'','','systemicon'),
						array('gid' => $params['gid'], 'mode' => 'add')) . ' ' .
			$this->CreateLink($id, 'editgallery', $returnid,
						$this->Lang('addsubgallery'),
						array('gid' => $params['gid'], 'mode' => 'add'))
		: ''
		);
	$smarty->assign('addimages',
		$permission_to_edit ?
			$this->CreateLink($id, 'editgallery', $returnid,
						$themeObject->DisplayImage('icons/system/newobject.gif', $this->Lang('addimages'),'','','systemicon'),
						array('gid' => $params['gid'], 'mode' => 'edit')) . ' ' .
			$this->CreateLink($id, 'editgallery', $returnid,
						$this->Lang('addimages'),
						array('gid' => $params['gid'], 'mode' => 'edit')) . ' (' . $filesize . ' max)'
		: ''
		);

	$smarty->assign('upload_url', str_replace('&amp;','&',$this->CreateLink($id, 'do-upload', '', '', array('disable_theme'=>'true','showtemplate'=>'false'), '', true)));
	$smarty->assign('sessionid',session_id());
	$smarty->assign('maximagewidth',$this->GetPreference('maximagewidth',800));
	$smarty->assign('maximageheight',$this->GetPreference('maximageheight',800));
	$smarty->assign('imagejpgquality',$this->GetPreference('imagejpgquality',80));
	$_SESSION['uploaddir'] = trim(DEFAULT_GALLERY_PATH . ($params['gid'] == 1 ? '' : trim($galleryinfo['filepath'] . '/' . $galleryinfo['filename'],'/')),'/');
}

if ( abs($params['gid']) == 1 )
{
	$smarty->assign('pagetitle', $this->CreateLink($id, 'defaultadmin', $returnid, $this->Lang('list')) );
}
else
{
	$gallerypatharr = explode('/', $galleryinfo['filepath']);
	$path = '';
	$breadcrumbs = $this->CreateLink($id, 'defaultadmin', $returnid, $this->Lang('list'));
	$breadcrumbs .= ' / ' . $this->CreateLink($id, 'editgallery', $returnid, 'Gallery', array('gid'=>1,'mode'=>"edit"));
	foreach ($gallerypatharr as $item)
	{
		if ( !empty($item) )
		{
			$path .= '/' . $item ;
			$galinfo = Gallery_utils::Getgalleryinfo($path);
			$breadcrumbs .= ' / ' . $this->CreateLink($id, 'editgallery', $returnid, $item, array('gid'=>$galinfo['fileid'],'mode'=>"edit"));
		}
	}
	$breadcrumbs .= ' / ' . trim($galleryinfo['filename'],'/');
	$smarty->assign('pagetitle', $breadcrumbs );
}


$smarty->assign('prompt_gallerytitle', $this->Lang('gallerytitle'));
$smarty->assign('prompt_comment',$this->Lang('comment'));
$smarty->assign('prompt_date',$this->Lang('date'));
$smarty->assign('customfields', Gallery_utils::Getcustomfields($params['gid'], 1, $id, FALSE, $permission_to_edit));

// template dropdown field
$templatelist = array('- ' . $this->Lang('usedefault') . ' -'=>0);
$query = "SELECT templateid, template FROM ".cms_db_prefix()."module_gallery_templateprops " . ($this->CheckPermission('Modify Templates') ? "" : "WHERE visible=1 ") . "ORDER BY template ASC";
$result = $db->Execute($query);
while ($result && $row = $result->FetchRow())
{
	$templatelist[$row['template']] = $row['templateid'];
}
if ( count($templatelist) == 1 
			|| (count($templatelist) == 2 && array_key_exists($defaulttemplate, $templatelist))
			|| isset($galleryinfo['templateid']) && !in_array($galleryinfo['templateid'], $templatelist))
{
	$smarty->assign('prompt_template', '');
	$smarty->assign('template', $this->CreateInputHidden($id, 'templateid', $galleryinfo['templateid']));
}
else
{
	$smarty->assign('prompt_template', $this->Lang('template'));
	$smarty->assign('template', $this->CreateInputDropdown($id, 'templateid', $templatelist, -1, isset($galleryinfo['templateid']) ? $galleryinfo['templateid'] : 0, $disabled));
}

// editors multiselect field
if ( $this->GetPreference('use_permissions') )
{
	$editorslist = Gallery_utils::GetEditors();
	$selectededitors = $editors;
	$smarty->assign('prompt_editors', $this->Lang('editors'));
	$smarty->assign('editors', $this->CreateInputSelectList($id, 'editors[]', $editorslist, $selectededitors, 4, $disabled));
}
else
{
	$selectededitors = implode(';', $editors);
	$smarty->assign('prompt_editors', '');
	$smarty->assign('editors', $this->CreateInputHidden($id, 'editors', $selectededitors));
}


$multiactionlist = array($this->Lang('delete') => 'delete',
												$this->Lang('rotateclockwise') => 'rotateclockwise',
												$this->Lang('rotateanticlockwise') => 'rotateanticlockwise',
												$this->Lang('active') => 'active', 
												$this->Lang('inactive') => 'inactive',
												$this->Lang('moveto') => 'move');
$galleries = Gallery_utils::GetGalleries();
foreach ($galleries as $gallery) 
{
	$gallerieslist[$gallery['filepath'] . $gallery['filename']] = $gallery['fileid'];
}
$smarty->assign('prompt_multiaction', $this->Lang('withselected'));
$smarty->assign('multiaction', $this->CreateInputDropdown($id, 'multiaction', $multiactionlist, -1, '', 'id="multiaction"' . $disabled));
$smarty->assign('moveto', $this->CreateInputDropdown($id, 'moveto', $gallerieslist, -1, $params['gid'], 'id="moveto"' . $disabled));
$smarty->assign('multiactionsubmit', $this->CreateInputSubmit($id, 'multiactionsubmit', $this->Lang('apply'), $disabled, '', $this->Lang('areyousuremulti')));

$smarty->assign('prompt_parent', $this->Lang('parentgallery'));
$smarty->assign('prompt_hideparentlink', $this->Lang('hideparentlink'));

$smarty->assign('hidden', $this->CreateInputHidden($id, 'sort', '') . $this->CreateInputHidden($id, 'active', isset($galleryinfo['active']) ? $galleryinfo['active'] : 1));

$smarty->assign('submit', $permission_to_edit ? $this->CreateInputSubmit($id, 'submitbutton', $this->Lang ('submit')) : '');
$smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', $this->Lang ('cancel')));
$smarty->assign('unsort', $permission_to_edit && $totaloffileorder > 0 ? $this->CreateInputSubmit($id, 'unsortbutton', $this->Lang('sortbysettings'), '', '', $this->Lang('sureunsort')) : '');
$smarty->assign('updatethumbs', $permission_to_edit && $numberofimages > 0 ? $this->CreateInputSubmit($id, 'updatethumbsbutton', $this->Lang ('updatethumbs'), $disabled, '', $this->Lang('sureupdatethumbs')."\\n".$this->Lang('thumbsrecreated')) : '');
$smarty->assign('formend', $this->CreateFormEnd());


echo $this->ProcessTemplate('editgallery.tpl');

?>

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com