File Manager

Current Path : /webspace/www.promiel.be/html/modules/Gallery/
Upload File :
Current File : //webspace/www.promiel.be/html/modules/Gallery/method.upgrade.php

<?php
#-------------------------------------------------------------------------
# Module: Gallery
# Method: Upgrade
#-------------------------------------------------------------------------
# CMS - CMS Made Simple is (c) 2008 by Ted Kulp (wishy@cmsmadesimple.org)
# This project's homepage is: http://www.cmsmadesimple.org
#-------------------------------------------------------------------------

if (!isset($gCms))
	exit;


//$current_version = $oldversion;
$db = $this->GetDb();
$taboptarray = array('mysql' => 'ENGINE=MyISAM');
$dict = NewDataDictionary($db);

switch ($oldversion)
{
	case "1.0":
	case "1.0.1":
	case "1.0.2":
	case "1.0.3":
// delete all thumbnails and old thumb directory
		$thumbsfolder = '..' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Gallery' . DIRECTORY_SEPARATOR . 'thumbs';
		if ($dh = @opendir($thumbsfolder))
		{
			while (false !== ($obj = readdir($dh)))
			{
				if ($obj != '.' && $obj != '..')
				{
					@unlink($thumbsfolder . DIRECTORY_SEPARATOR . $obj);
				}
			}
			closedir($dh);
		}
		@rmdir($thumbsfolder);
// create new database table for template properties
		$flds = "
			templateid I KEY AUTO,
			template C(255),
			thumbwidth I,
			thumbheight I,
			resizemethod C(10),
			maxnumber I,
			sortitems C(255)
		";
		$sqlarray = $dict->CreateTableSQL(cms_db_prefix() . "module_gallery_templateprops", $flds, $taboptarray);
		$dict->ExecuteSQLArray($sqlarray);

// save templateproperties for every Gallery template
		$query = "SELECT template_name FROM " . cms_db_prefix() . "module_templates WHERE module_name=?";
		$result = $db->Execute($query, array('Gallery'));
		if ($result && $result->RecordCount() > 0)
		{
			while ($row = $result->FetchRow())
			{
				$query2 = "INSERT INTO " . cms_db_prefix() . "module_gallery_templateprops (template,sortitems) VALUES (?,?)";
				$result2 = $db->Execute($query2, array($row['template_name'], 'n-isdir/s+file'));
				if ($result2)
				{
					$tplid[$row['template_name']] = $db->Insert_ID();
				}
				else
				{
					echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
					exit();
				}
			}
		}
		if (!$result)
		{
			echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
			exit();
		}
// pass over thumbsettings from galleryprops to templateprops
		$tpl = array();
		$query = "SELECT fileid, template, thumbwidth, thumbheight, resizemethod FROM " . cms_db_prefix() . "module_gallery_props";
		$result = $db->Execute($query);
		if ($result && $result->RecordCount() > 0)
		{
			$defaulttemplate = $this->GetPreference('current_template');
			while ($row = $result->FetchRow())
			{
				$tpl[$row['fileid']] = isset($tplid[$row['template']]) ? $tplid[$row['template']] : 0;
				$row['template'] = ($row['template'] == 'usedefaulttemplate') ? $defaulttemplate : $row['template'];
				$query2 = "UPDATE " . cms_db_prefix() . "module_gallery_templateprops  SET thumbwidth=?, thumbheight=?, resizemethod=? WHERE template=?";
				$result2 = $db->Execute($query2, array($row['thumbwidth'], $row['thumbheight'], $row['resizemethod'], $row['template']));
				if (!$result2)
				{
					echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
					exit();
				}
			}
		}
		if (!$result)
		{
			echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
			exit();
		}
// drop table galleryprops
		$sqlarray = $dict->DropTableSQL(cms_db_prefix() . "module_gallery_props");
		$dict->ExecuteSQLArray($sqlarray);

// create new table galleryprops and fill it for every subgallery
		$flds = "
			fileid I KEY,
			templateid I,
			hideparentlink I
		";
		$sqlarray = $dict->CreateTableSQL(cms_db_prefix() . "module_gallery_props", $flds, $taboptarray);
		$dict->ExecuteSQLArray($sqlarray);
		$query = "SELECT fileid FROM " . cms_db_prefix() . "module_gallery WHERE filename LIKE '%/'";
		$result = $db->Execute($query);
		if ($result && $result->RecordCount() > 0)
		{
			while ($row = $result->FetchRow())
			{
				$tpl[$row['fileid']] = isset($tpl[$row['fileid']]) ? $tpl[$row['fileid']] : 0;
				$hideparentlink = $row['fileid'] == 1 ? 1 : 0;
				$query2 = "INSERT INTO " . cms_db_prefix() . "module_gallery_props (fileid,templateid,hideparentlink) VALUES (?,?,?)";
				$result2 = $db->Execute($query2, array($row['fileid'], $tpl[$row['fileid']], $hideparentlink));
				if (!$result2)
				{
					echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
					exit();
				}
			}
		}
		if (!$result)
		{
			echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
			exit();
		}
	//current_version: 1.1

	case "1.1":
		// create new thumbsfolder
		$thumbsfolder = '..' . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'GalleryThumbs' . DIRECTORY_SEPARATOR;
		if (!is_dir($thumbsfolder))
		{
			mkdir($thumbsfolder);
		}
	//current_version: 1.1.1

	case "1.1.1":
	case "1.1.2":
		$sqlarray = $dict->AddColumnSQL(cms_db_prefix() . "module_gallery_templateprops", "version C(20), about X, visible I");
		$dict->ExecuteSQLArray($sqlarray);
		$query = "UPDATE " . cms_db_prefix() . "module_gallery_templateprops SET visible=1";
		$db->Execute($query);

	//current_version: 1.2

	case "1.2":
	case "1.2.1":
	case "1.2.2":
		$this->SetPreference("singleimg_template", 'Fancybox');
		$this->SetPreference("singleimg_template_html", '<a class="group" href="{$image->file|escape:\'url\'|replace:\'%2F\':\'/\'}" title="{$image->title}" rel="gallery"><img src="{$image->thumb|escape:\'url\'|replace:\'%2F\':\'/\'}" alt="{$image->title}" /></a>');
		$this->SetPreference("maximagewidth", 1024);
		$this->SetPreference("maximageheight", 768);

	//current_version: 1.3";

	case "1.3":
	case "1.3.1":
		$this->AddEventHandler('Core', 'ContentPostRender', false);

	//current_version: 1.3.2

	case "1.3.2":
		$this->SetPreference("urlprefix", 'gallery');
		$this->SetPreference("fe_folderpath", 'modules/Gallery/images/folder.png');
		$this->SetPreference("be_folderpath", 'modules/Gallery/images/foldersmall.png');
		$this->SetPreference("editdirdates", false);
		$this->SetPreference("editfiledates", false);

		$flds = "
			fieldid I KEY AUTO,
			name C(255),
			type C(20),
			maxlength I,
			dirfield L,
			sortorder I,
			public L
		";
		$sqlarray = $dict->CreateTableSQL(cms_db_prefix() . "module_gallery_fielddefs", $flds, $taboptarray);
		$dict->ExecuteSQLArray($sqlarray);

		$flds = "
			fileid I KEY NOT NULL,
			fieldid I KEY NOT NULL,
			value X
		";
		$sqlarray = $dict->CreateTableSQL(cms_db_prefix() . "module_gallery_fieldvals", $flds, $taboptarray);
		$dict->ExecuteSQLArray($sqlarray);

		@unlink('../modules/Gallery/event.Core.ContentPostRender.php');

		$fn = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Gallery-tpl-gallerytree.xml';
		if (file_exists($fn))
		{
			$templates = 1; // install mode
			$xml = @file_get_contents($fn);
			include 'function.importtemplate.php';
		}

	//current_version: 1.4

	case "1.4":
	case "1.4.1":
	case "1.4.2":
	case "1.4.3":
	case "1.4.4":
		// clean up some slashes & concats
		$query = "UPDATE " . cms_db_prefix() . "module_gallery  SET filepath=" . $db->Concat("filepath", "'/'") . " WHERE filepath<>''";
		$result = $db->Execute($query);
		if (!$result)
		{
			echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
			exit();
		}
		$query = "UPDATE " . cms_db_prefix() . "module_gallery  SET filename='', filepath='' WHERE fileid=1";
		$result = $db->Execute($query);
		if (!$result)
		{
			echo 'ERROR ' . __LINE__ . ': ' . $db->ErrorMsg();
			exit();
		}
		// extend possible custom field types
		$sqlarray = $dict->AddColumnSQL(cms_db_prefix() . "module_gallery_fielddefs", "properties C(255)");
		$dict->ExecuteSQLArray($sqlarray);
		$query = "UPDATE " . cms_db_prefix() . "module_gallery_fielddefs SET properties = maxlength";
		$db->Execute($query);
		$sqlarray = $dict->DropColumnSQL(cms_db_prefix() . "module_gallery_fielddefs", "maxlength");
		$dict->ExecuteSQLArray($sqlarray);

	//current_version: 1.4.5

	case "1.4.5":
		$this->SetPreference("newgalleries_active", true);
		$this->SetPreference("imagejpgquality", 80);
		$this->SetPreference("thumbjpgquality", 80);

	//current_version: 1.4.6

	case "1.4.6":
		$sqlarray = $dict->AddColumnSQL(cms_db_prefix() . "module_gallery_props", "feugroups C(255)");
		$dict->ExecuteSQLArray($sqlarray);
		$query = "UPDATE " . cms_db_prefix() . "module_gallery SET filename = '' WHERE fileid = 1";
		$db->Execute($query);
		$query = "UPDATE " . cms_db_prefix() . "module_gallery SET filepath = " . $db->Concat('filepath', '/') . " WHERE filepath <> '' AND filepath NOT LIKE '%/'";
		$db->Execute($query);

	//current_version: 1.5

	case "1.5":
	case "1.5.1":
	case "1.5.2":
	case "1.5.3":
		$sqlarray = $dict->AddColumnSQL(cms_db_prefix() . "module_gallery_props", "editors C(255)");
		$dict->ExecuteSQLArray($sqlarray);
		$this->RemovePermission('Set Gallery Prefs');
		$this->CreatePermission('Gallery - Add subgalleries', 'Gallery - Add subgalleries');
		$this->CreatePermission('Gallery - Edit all galleries', 'Gallery - Edit all galleries');
		$this->SetPreference('use_permissions', false);

	//current_version: 1.6

	case "1.6":
	case "1.6.1":
		@unlink('../modules/Gallery/function.upload.php');
		$deletefiles = array('jquery/contract.gif', 'jquery/expand.gif', 'jquery/jquery.easing.js', 'jquery/jquery.js', 'jquery/jquery.mousewheel.pack.js', 'jquery/jquery.tablednd.js', 'jquery.timers.js', 'jquery.treeTable.css', 'jquery.treeTable.js',
			'swfupload/handlers.js', 'swfupload/swfupload.cookies.js', 'swfupload/swfupload.js', 'swfupload/swfupload.proxy.js', 'swfupload/swfupload.queue.js', 'swfupload/swfupload.speed.js', 'swfupload/swfupload.swf', 'swfupload/swfupload_fp9.swf');
		foreach ($deletefiles as $deletefile)
		{
			@unlink('../modules/Gallery/templates/' . $deletefile);
		}
		@rmdir('../modules/Gallery/templates/jquery');
		@rmdir('../modules/Gallery/templates/swfupload');
		$deletefiles = array('handlers.js', 'swfupload.cookies.js', 'swfupload.js', 'swfupload.proxy.js', 'swfupload.queue.js', 'swfupload.speed.js', 'swfupload.swf', 'swfupload_fp9.swf');
		foreach ($deletefiles as $deletefile)
		{
			@unlink('../modules/Gallery/lib/swfupload/' . $deletefile);
		}
		@rmdir('../modules/Gallery/lib/swfupload');
		$deletefiles = array('error.gif', 'SmallSpyGlassWithTransperancy_17x18.png', 'toobig.gif', 'uploadlimit.gif', 'zerobyte.gif');
		foreach ($deletefiles as $deletefile)
		{
			@unlink('../modules/Gallery/images/' . $deletefile);
		}

	//current_version: 2.0
}
?>

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