File Manager

Current Path : /webspace/www.babilon.be/html/modules/Gallery/
Upload File :
Current File : //webspace/www.babilon.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);
		@unlink('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('templates/' . $deletefile);
		@rmdir('templates/jquery');
		@rmdir('templates/swfupload');

		//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

}

?>

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