Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Jun 21, 10:05 AM

in-portal

Index: branches/unlabeled/unlabeled-1.44.2/kernel/startup.php
===================================================================
--- branches/unlabeled/unlabeled-1.44.2/kernel/startup.php (nonexistent)
+++ branches/unlabeled/unlabeled-1.44.2/kernel/startup.php (revision 6801)
@@ -0,0 +1,207 @@
+<?php
+ if( !defined('FULL_PATH') ) define('FULL_PATH', realpath(dirname(__FILE__).'/..') );
+
+ require_once FULL_PATH.'/globals.php';
+
+ if( !isset($FrontEnd) ) $FrontEnd = 0;
+
+ if( !class_exists('kApplication') )
+ {
+ // KENEL4 INIT: BEGIN
+ if ($FrontEnd != 1 && !defined('ADMIN') ) {
+ define('ADMIN', 1);
+ }
+
+ include_once(FULL_PATH.'/core/kernel/startup.php');
+
+ $application =& kApplication::Instance();
+ $application->Init();
+ $application->ProcessRequest();
+ // KERNEL4 INIT: END
+ }
+
+ // compatibility constants
+ $g_TablePrefix = TABLE_PREFIX;
+ $pathtoroot = preg_replace('/(.*)\/$/', '\\1', FULL_PATH).'/';
+
+ $admin = 'admin';
+ $rootURL = PROTOCOL.SERVER_NAME.(defined('PORT')?':'.PORT : '').rtrim(BASE_PATH, '/').'/';
+ $localURL = $rootURL.'kernel/';
+ $adminURL = $rootURL.$admin;
+ $imagesURL = $adminURL.'/images';
+ $browseURL = $adminURL.'/browse';
+ $cssURL = $adminURL.'/include';
+ $pathchar = '/';
+
+if(!get_magic_quotes_gpc())
+{
+ function addSlashesA($a)
+ {
+ foreach($a as $k => $v)
+ {
+ $a[$k] = is_array($v) ? addSlashesA($v) : addslashes($v);
+ }
+ return $a;
+ }
+ foreach(Array(
+ 'HTTP_GET_VARS','HTTP_POST_VARS','HTTP_COOKIE_VARS','HTTP_SESSION_VARS','HTTP_SERVER_VARS',
+ '_POST','_GET','_COOKIE','_SESSION','_SERVER','_REQUEST') as $_)
+ if(isset($GLOBALS[$_]))
+ $GLOBALS[$_]=addSlashesA($GLOBALS[$_]);
+}
+
+/*
+ startup.php: this is the primary startup sequence for in-portal services
+*/
+
+if( file_exists(FULL_PATH.'/debug.php') && !defined('DEBUG_MODE') ) include_once(FULL_PATH.'/debug.php');
+if( !defined('DEBUG_MODE') ) error_reporting(0);
+
+ini_set('memory_limit', constOn('IS_INSTALL') ? -1 : '32M');
+ini_set('include_path', '.');
+
+$kernel_version = "1.0.0";
+$FormError = array();
+$FormValues = array();
+/* include PHP version compatibility functions */
+require_once(FULL_PATH.'/compat.php');
+/* set global variables and module lists */
+
+if( constOn('DEBUG_MODE') ) include_once(FULL_PATH.'/kernel/include/debugger.php');
+
+ // put all non-checked checkboxes in $_POST & $_REQUEST with 0 values
+ if( GetVar('form_fields') )
+ {
+ $form_fields = GetVar('form_fields');
+ foreach($form_fields as $checkbox_name)
+ {
+ if( GetVar($checkbox_name) === false ) SetVar($checkbox_name,0);
+ }
+ }
+
+LogEntry("Initalizing System..\n");
+/* for 64 bit timestamps */
+if( !function_exists('adodb_mktime') ) require_once(FULL_PATH.'/kernel/include/adodb/adodb-time.inc.php');
+require_once(FULL_PATH.'/kernel/include/dates.php');
+
+/* create the global error object */
+require_once(FULL_PATH.'/kernel/include/error.php');
+$Errors = new clsErrorManager();
+
+require_once(FULL_PATH.'/kernel/include/itemdb.php');
+
+require_once(FULL_PATH.'/kernel/include/db.class.php'); // moved from kernel/include/config.php
+require_once(FULL_PATH.'/kernel/include/adodb/adodb.inc.php'); // moved from kernel/include/config.php
+
+require_once(FULL_PATH.'/kernel/include/config.php');
+/* create the global configuration object */
+LogEntry("Creating Config Object..\n");
+$objConfig = new clsConfig();
+$objConfig->Load(); /* Populate our configuration data */
+LogEntry("Done Loading Configuration\n");
+if( defined('ADODB_EXTENSION') && constant('ADODB_EXTENSION') > 0 )
+ LogEntry("ADO Extension: ".ADODB_EXTENSION."\n");
+
+require_once(FULL_PATH.'/kernel/include/parseditem.php');
+
+require_once(FULL_PATH.'/kernel/include/itemreview.php'); // moved from kernel/include/item.php
+require_once(FULL_PATH.'/kernel/include/itemrating.php'); // moved from kernel/include/item.php
+
+require_once(FULL_PATH.'/kernel/include/item.php');
+require_once(FULL_PATH.'/kernel/include/syscache.php');
+require_once(FULL_PATH.'/kernel/include/modlist.php');
+require_once(FULL_PATH.'/kernel/include/searchconfig.php');
+require_once(FULL_PATH.'/kernel/include/banrules.php');
+
+$objModules = new clsModList();
+$objSystemCache = new clsSysCacheList();
+$objSystemCache->PurgeExpired();
+$objBanList = new clsBanRuleList();
+
+require_once(FULL_PATH.'/kernel/include/image.php');
+
+require_once(FULL_PATH.'/kernel/include/itemtypes.php');
+$objItemTypes = new clsItemTypeList();
+
+require_once(FULL_PATH.'/kernel/include/theme.php');
+$objThemes = new clsThemeList();
+
+require_once(FULL_PATH.'/kernel/include/language.php');
+$objLanguages = new clsLanguageList();
+$objImageList = new clsImageList();
+
+/* Load session and user class definitions */
+//require_once("include/customfield.php");
+//require_once("include/custommetadata.php");
+require_once(FULL_PATH.'/kernel/include/usersession.php');
+require_once(FULL_PATH.'/kernel/include/favorites.php');
+require_once(FULL_PATH.'/kernel/include/portaluser.php');
+require_once(FULL_PATH.'/kernel/include/portalgroup.php');
+
+/* create the user management class */
+$objFavorites = new clsFavoriteList();
+$objUsers = new clsUserManager();
+$objGroups = new clsGroupList();
+
+require_once(FULL_PATH.'/kernel/include/cachecount.php');
+require_once(FULL_PATH.'/kernel/include/customfield.php');
+require_once(FULL_PATH.'/kernel/include/custommetadata.php');
+require_once(FULL_PATH.'/kernel/include/permissions.php');
+require_once(FULL_PATH.'/kernel/include/relationship.php');
+require_once(FULL_PATH.'/kernel/include/category.php');
+require_once(FULL_PATH.'/kernel/include/statitem.php');
+/* category base class, used by all the modules at some point */
+$objPermissions = new clsPermList();
+$objPermCache = new clsPermCacheList();
+
+$objCatList = new clsCatList();
+$objCustomFieldList = new clsCustomFieldList();
+$objCustomDataList = new clsCustomDataList();
+$objCountCache = new clsCacheCountList();
+
+require_once(FULL_PATH.'/kernel/include/smtp.php');
+require_once(FULL_PATH.'/kernel/include/emailmessage.php');
+require_once(FULL_PATH.'/kernel/include/events.php');
+LogEntry("Creating Mail Queue..\n");
+$objMessageList = new clsEmailMessageList();
+$objEmailQueue = new clsEmailQueue();
+LogEntry("Done creating Mail Queue Objects\n");
+
+require_once(FULL_PATH.'/kernel/include/searchitems.php');
+require_once(FULL_PATH.'/kernel/include/advsearch.php');
+
+require_once(FULL_PATH.'/kernel/include/parse.php');
+require_once(FULL_PATH.'/kernel/include/socket.php');
+
+/* responsible for including module code as required
+ This script also creates an instance of the user session onject and
+ handles all session management. The global session object is created
+ and populated, then the global user object is created and populated
+
+ each module's parser functions and action code is included here
+*/
+
+LogEntry("Startup complete\n");
+include_once("include/modules.php");
+
+if( IsDebugMode() && function_exists('DebugByFile') ) DebugByFile();
+
+/* startup is complete, so now check the mail queue to see if there's anything that needs to be sent*/
+$objEmailQueue->SendMailQeue();
+
+ $ado=&GetADODBConnection();
+ $rs = $ado->Execute("SELECT * FROM ".GetTablePrefix()."Modules WHERE LoadOrder = 0");
+
+ $kernel_version = $rs->fields['Version'];
+
+
+$adminDir = $objConfig->Get("AdminDirectory");
+if ($adminDir == '') {
+ $adminDir = 'admin';
+}
+
+/*if (strstr(__FILE__, $adminDir) && !GetVar('logout') && !strstr(__FILE__, "install") && !strstr(__FILE__, "index")) {
+ require_login(null, 'expired='.(int)GetVar('expired') );
+}*/
+
+?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.44.2/kernel/startup.php
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.44
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.44.2/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php
===================================================================
--- branches/unlabeled/unlabeled-1.44.2/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (nonexistent)
+++ branches/unlabeled/unlabeled-1.44.2/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php (revision 6801)
@@ -0,0 +1,583 @@
+<?php
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ *
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * http://www.opensource.org/licenses/lgpl-license.php
+ *
+ * For further information visit:
+ * http://www.fckeditor.net/
+ *
+ * File Name: commands.php
+ * This is the File Manager Connector for ASP.
+ *
+ * Version: 2.0 RC3
+ * Modified: 2005-02-19 16:02:38
+ *
+ * File Authors:
+ * Frederico Caldeira Knabben (fredck@fckeditor.net)
+ */
+function GetFolders( $resourceType, $currentFolder )
+{
+ // Map the virtual path to the local server path.
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ // Open the "Folders" node.
+ $aFolders = array();
+ echo "<Folders>" ;
+ $oCurrentFolder = opendir( $sServerDir ) ;
+ while ( $sFile = readdir( $oCurrentFolder ) )
+ {
+ if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS' && is_dir( $sServerDir . $sFile ) )
+ $aFolders[] = $sFile;
+ //echo '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+ }
+
+ if (count($aFolders) > 0) {
+ natcasesort($aFolders);
+ foreach($aFolders AS $k=>$v) {
+ echo '<Folder name="' . ConvertToXmlAttribute($v) . '" />' ;
+ }
+ }
+
+
+ closedir( $oCurrentFolder ) ;
+ // Close the "Folders" node.
+ echo "</Folders>" ;
+}
+
+function ValidateAdminSid()
+{
+ $conn = GetADODbConnection();
+ $session_time = GetConfigValue('ses_timeout')+0;
+ $sid = ($_COOKIE['admin_sid'])?$_COOKIE['admin_sid']:$_COOKIE['sid'];
+ $sql = "SELECT count( sd.sid )
+ FROM session_data AS sd
+ LEFT JOIN sessions AS s ON s.sid = sd.sid
+ WHERE sd.`name` = 'admin_mode'
+ AND sd.`value` = '1'
+ AND sd.sid = '".$sid."'
+ AND s.expire + '".$session_time."' > unix_timestamp()";
+ if ($conn->GetOne($sql) > 0) {
+ return true;
+}
+
+function ValidateUserSid()
+{
+ $conn = GetADODbConnection();
+ $session_time = GetConfigValue('ses_timeout')+0;
+ $sid = $_COOKIE['sid'];
+ $sql = "SELECT count( sd.sid )
+ FROM sessions
+ sid = '".$sid."'
+ AND expire + '".$session_time."' > unix_timestamp()";
+ }
+ if ($conn->GetOne($sql) > 0)
+ return true;
+}
+
+function ValidateSID()
+{ global $Config;
+ if (isset($Config['K4Mode']))
+ return true;
+ else {
+ if ($Config['validate_type'] == 'user')
+ return ValidateUserSid();
+ elseif ($Config['validate_type'] == 'admin')
+ return ValidateAdminSid();
+ else
+ echo "SESSION Validation FALSE";
+
+ }
+ return false;
+}
+
+function GetCmsTree()
+{
+ global $Config;
+ $ret = "<CmsPages>";
+
+ if (isset($Config['K4Mode'])) {
+ $ret.= K4ReadCmsTree(0);
+ }
+ else {
+ $ret.= ReadCmsTree(0);
+ }
+ $ret.= "</CmsPages>";
+ echo $ret;
+}
+function K4ReadCmsTree($cat_id, $level = 0)
+{
+ $application =& kApplication::Instance();
+ $application->Init();
+
+ $lang = $application->GetVar('m_lang');
+
+ $query = 'SELECT PageId, Path, l'.$lang.'_Title AS Title FROM '.TABLE_PREFIX.'Pages ORDER By l'.$lang.'_Title';
+ $pages = $application->Conn->Query($query);
+
+ $res = '';
+ foreach ($pages as $page) {
+ $page_path = $page['Path'].'.html';
+ $title = $page['Title'].' ('.$page_path.')';
+ $res .= '<CmsPage path="'.$page_path.'" title="'.$prefix.htmlspecialchars($title,ENT_QUOTES).'" st_id="'.$rs->fields['PageId'].'" serverpath="'.BASE_PATH.'/" />';
+ }
+
+ return $res;
+}
+function ReadCmsTree($st_id, $level = 0)
+{
+ $conn = GetADODbConnection();
+ $query = "SELECT value FROM config WHERE name = 'default_lang_prefix'";
+ $rs = $conn->Execute($query);
+ if ($rs && !$rs->EOF)
+ {
+ $default_lang_prefix = $rs->fields['value'];
+ }
+ $query = "SELECT value FROM config WHERE name = 'cms_direct_mode'";
+ $rs = $conn->Execute($query);
+ if ($rs && !$rs->EOF)
+ {
+ $cms_mode = $rs->fields['value'];
+ }
+ $query = "SELECT value FROM config WHERE name = 'email_templates_folder_id'";
+ $rs = $conn->Execute($query);
+ if ($rs && !$rs->EOF)
+ {
+ $email_templates_folder_id = $rs->fields['value'];
+ }
+/*
+ $query = "SELECT value FROM config WHERE name = 'custom_cms'";
+ $rs = $conn->Execute($query);
+ if ($rs && !$rs->EOF)
+ {
+ $custom_cms = $rs->fields['value'];
+ }
+*/
+ if (GetConfigValue('custom_cms')) {
+ $filter = 'AND st.st_name NOT IN (' . GetConfigValue('custom_cms') . ')';
+ }
+ else {
+ $filter = '';
+ }
+ if ( $email_templates_folder_id == "" ) $email_templates_folder_id = 0;
+ $system_tpl_ids = GetConfigValue('system_tpl_ids');
+ if (!$system_tpl_ids)
+ $system_tpl_ids = '0';
+ if ( $cms_mode == 1 ) {
+ //$lang_prefix = $this->Application->GetVar('lang_prefix');
+ $query = "
+ SELECT st.*,
+ IF(lb.".$default_lang_prefix."_content='' OR lb.".$default_lang_prefix."_content IS NULL,
+ st.st_path,
+ lb.".$default_lang_prefix."_content
+ ) AS page_title
+ FROM
+ structure_templates AS st
+ LEFT JOIN
+ live_blocks AS lb
+ ON
+ (st.st_id = lb.template_id) AND (lb.block_type = 3)
+ WHERE st.st_parent_id = ".$st_id."
+ AND st_id != ".$email_templates_folder_id."
+ AND st.st_id NOT IN ($system_tpl_ids)
+ AND st_path != '/cms'" . $filter . "
+ ORDER BY st.st_order";
+ }
+ else {
+ $query = "
+ SELECT st.*,
+ IF(wb.".$default_lang_prefix."_content='' OR wb.".$default_lang_prefix."_content IS NULL,
+ st.st_path,
+ wb.".$default_lang_prefix."_content
+ ) AS page_title
+ FROM
+ structure_templates AS st
+ LEFT JOIN
+ working_blocks AS wb
+ ON
+ (st.st_id = wb.template_id) AND (wb.block_type = 3)
+ WHERE st.st_parent_id = ".$st_id."
+ AND st_id != ".$email_templates_folder_id."
+ AND st.st_id NOT IN ($system_tpl_ids)
+ AND st_path != '/cms%'" . $filter . "
+ ORDER BY st.st_order";
+ }
+// echo $query."<br>";
+ $rs = $conn->Execute($query);
+ if ($rs && !$rs->EOF)
+ {
+ while ($rs && !$rs->EOF)
+ {
+ $page_path = ltrim($rs->fields['st_path'], '/');
+ //$page_path = SERVER_NAME.BASE_PATH.'/index.php?t='.$page_path;
+ //$page_path = $page_path;
+ $prefix='';
+ for ($i = 0; $i < $level; $i++)
+ $prefix .= '--';
+ if ($level > 0)
+ $prefix=$prefix.'- ';
+/*
+ $page = ereg_replace("&","&amp;",$rs->fields['page_title']);
+ $page = ereg_replace("\"","&quot;",$page);
+ $page = ereg_replace("'","&#039;",$page);
+ $page = ereg_replace("<","&lt;",$page);
+ $page = ereg_replace(">","&gt;",$page);
+// echo $page." <br>";
+ //$page = htmlentities($rs->fields['page_title'],ENT_QUOTES);
+ $page = $rs->fields['page_title'];
+ $page = ereg_replace("&atilde;","a",$page);
+*/
+ $page = $rs->fields['page_title'];
+ $page = @html_entity_decode($page,ENT_NOQUOTES,'UTF-8');
+ $page = @htmlspecialchars($page);
+ //$page = ereg_replace("&atilde;","a",$page);
+
+ $res .= '<CmsPage path="'.$page_path.'" title="'.$prefix.$page.'" st_id="'.$rs->fields['st_id'].'" serverpath="'.BASE_PATH.'/index.php?t=" />';
+ $res .= ReadCmsTree($rs->fields['st_id'], $level+1);
+
+ $rs->MoveNext();
+ }
+ return $res;
+ }
+}
+/*
+ $res .= '<CmsPage>
+ <path><![CDATA['.$page_path.']]></path>
+ <title><![CDATA['.$prefix.$page.']]></title>
+ <st_id><![CDATA['.$rs->fields['st_id'].']]></st_id>
+ <serverpath><![CDATA['.BASE_PATH.'/index.php?t=.]]></serverpath>
+ </CmsPage>';
+*/
+function GetConfigValue($var)
+{
+ $conn = GetADODbConnection();
+ $query = "SELECT `value` FROM config WHERE `name` = '".$var."'";
+ return $conn->GetOne($query);
+}
+
+function GetFoldersAndFiles( $resourceType, $currentFolder, $aParams = array('name','asc'))
+{
+ global $Config ;
+ // Map the virtual path to the local server path.
+ if (isset($Config['K4Mode']))
+ $date_format = "m/d/Y h:i A";
+ else
+ $date_format = GetConfigValue('date_format').' '.GetConfigValue('time_format');
+
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ // Initialize the output buffers for "Folders" and "Files".
+ $aFolders = array();
+ $aFiles = array();
+ $aFileSizes = array();
+ $sFolders = '<Folders>' ;
+ $sFiles = '<Files>' ;
+ $oCurrentFolder = opendir( $sServerDir ) ;
+ while ( $sFile = readdir( $oCurrentFolder ) )
+ {
+ if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS')
+ {
+ if ( is_dir( $sServerDir . $sFile ) )
+ $aFolders[]=$sFile;
+ else
+ {
+ $iFileSize = filesize( $sServerDir . $sFile ) ;
+ //$iFileSize[] = filesize( $sServerDir . $sFile ) ;
+ if ( $iFileSize > 0 )
+ {
+ $size = round( $iFileSize / 1024 );
+ $aFileSizes[] = ($size < 1)? 1:$size;// round( $iFileSize / 1024 ) ;
+ } else
+ $aFileSizes[] = $iFileSize;
+ $aFiles[] = $sFile;
+ $aFileDate[] = filectime($sServerDir.$sFile);
+ //$sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
+ }
+ }
+ }
+ if (count($aFolders) > 0) {
+ natcasesort($aFolders);
+ switch ($aParams[1])
+ {
+ case 'desc' :
+ $aFolders = array_reverse($aFolders, true);
+ break ;
+ }
+ foreach($aFolders AS $k=>$v) {
+ $sFolders .= '<Folder name="' . ConvertToXmlAttribute($v) . '" />' ;
+ }
+ }
+ if (count($aFiles) > 0) {
+ if ($aParams[0] == 'name')
+ {
+ natcasesort($aFiles);
+ if ($aParams[1] == 'desc')
+ {
+ $aFiles = array_reverse($aFiles, true);
+ }
+ foreach($aFiles AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $fv ) . '" size="' . $aFileSizes[$fk] . '" date="' . date($date_format,$aFileDate[$fk]) . '" />' ;
+ }
+ }elseif ($aParams[0] == 'size') {
+ natcasesort($aFileSizes);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileSizes = array_reverse($aFileSizes, true);
+ }
+ foreach($aFileSizes AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $aFiles[$fk] ) . '" size="' . $fv . '" date="' . date($date_format,$aFileDate[$fk]) . '" />' ;
+ }
+ } elseif ($aParams[0] == 'date') {
+ natcasesort($aFileDate);
+ if ($aParams[1] == 'desc')
+ {
+ $aFileDate = array_reverse($aFileDate, true);
+ }
+ foreach($aFileDate AS $fk=>$fv) {
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $aFiles[$fk] ) . '" size="' . $aFileSizes[$fk] . '" date="' . date($date_format,$fv) . '" />' ;
+ }
+ }
+ }
+/* while ( $sFile = readdir( $oCurrentFolder ) )
+ {
+ if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS')
+ {
+ if ( is_dir( $sServerDir . $sFile ) )
+ //$sFolders .= '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+ else
+ {
+ $iFileSize = filesize( $sServerDir . $sFile ) ;
+ if ( $iFileSize > 0 )
+ {
+ $iFileSize = round( $iFileSize / 1024 ) ;
+ if ( $iFileSize < 1 ) $iFileSize = 1 ;
+ }
+ $sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
+ }
+ }
+*/
+
+ if ($aParams[1] == "desc")
+ {
+ echo $sFiles ;
+ echo '</Files>' ;
+ echo $sFolders ;
+ echo '</Folders>' ;
+ } else {
+ echo $sFolders ;
+ echo '</Folders>' ;
+ echo $sFiles ;
+ echo '</Files>' ;
+ }
+}
+function CreateFolder( $resourceType, $currentFolder )
+{
+ $sErrorNumber = '0' ;
+ $sErrorMsg = '' ;
+ if ( isset( $_GET['NewFolderName'] ) )
+ {
+ $sNewFolderName = $_GET['NewFolderName'] ;
+ // Map the virtual path to the local server path of the current folder.
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ if ( is_writable( $sServerDir ) )
+ {
+ $sServerDir .= $sNewFolderName ;
+ $sErrorMsg = CreateServerFolder( $sServerDir ) ;
+ switch ( $sErrorMsg )
+ {
+ case '' :
+ $sErrorNumber = '0' ;
+ break ;
+ case 'Invalid argument' :
+ case 'No such file or directory' :
+ $sErrorNumber = '102' ; // Path too long.
+ break ;
+ default :
+ $sErrorNumber = '110' ;
+ break ;
+ }
+ }
+ else
+ $sErrorNumber = '103' ;
+ }
+ else
+ $sErrorNumber = '102' ;
+ // Create the "Error" node.
+ echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
+}
+
+function UpdateCmsBlocksK3($resourceType,$currentFolder,$file_from,$file_to)
+{ global $Config ;
+ $Config['UserFilesPathNoBase'];
+ $original_str = $Config['UserFilesPathNoBase'].$resourceType.$currentFolder.addslashes($file_from);
+ $new_str = $Config['UserFilesPathNoBase'].$resourceType.$currentFolder.addslashes($file_to);
+ $conn = GetADODbConnection();
+ if ( GetConfigValue('multilingual_mode') == 1) {
+ $query="SELECT lang_prefix FROM lang ORDER BY lang_id";
+ $rs = $conn->Execute($query);
+ while ($rs && !$rs->EOF) {
+ $sql = "UPDATE live_blocks SET ".$rs->fields['lang_prefix']."_content = replace(".$rs->fields['lang_prefix']."_content,'".$original_str."','".$new_str."')";
+ $conn->Execute($sql);
+ $rs->MoveNext();
+ }
+ } else {
+ $lang_prefix = GetConfigValue('default_lang_prefix');
+ $sql = "UPDATE live_blocks SET ".$lang_prefix."_content = replace(".$lang_prefix."_content,'".$original_str."','".$new_str."')";
+ $conn->Execute($sql);
+ }
+
+}
+
+function RenameFile( $resourceType, $currentFolder , $aFilenames = array())
+{ global $Config ;
+ if (count($aFilenames) == 2)
+ {
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ $sExtension = substr( $aFilenames[1], ( strrpos($aFilenames[1], '.') + 1 ) ) ;
+ $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
+ $arDenied = $Config['DeniedExtensions'][$resourceType] ;
+ if (file_exists($sServerDir.$aFilenames[1]) && is_file($sServerDir.$aFilenames[1]))
+ {
+ $sErrorNumber = '204' ;
+ } else {
+ if ( ( count($arAllowed) == 0 || in_array( strtolower($sExtension), $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( strtoupper($sExtension), $arDenied ) ) )
+ {
+ if (rename($sServerDir.$aFilenames[0],$sServerDir.$aFilenames[1])) {
+ if (isset($Config['K4Mode'])) {
+ // Update CMS Blocks
+ } else
+ UpdateCmsBlocksK3($resourceType,$currentFolder,$aFilenames[0],$aFilenames[1]);
+ $sErrorNumber = "0";
+ } else
+ $sErrorNumber = '205' ;
+ } else
+ $sErrorNumber = '203' ;
+ }
+ $sErrorMsg = '';
+ echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
+ }
+}
+
+function FileUpload( $resourceType, $currentFolder )
+{
+ $sErrorNumber = '0' ;
+ $sFileName = '' ;
+ if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
+ {
+ $oFile = $_FILES['NewFile'] ;
+ // Map the virtual path to the local server path.
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ // Get the uploaded file name.
+ $sFileName = $oFile['name'] ;
+ $sOriginalFileName = $sFileName ;
+ $sExtension = strtolower(substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) );
+ global $Config ;
+ $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
+ $arDenied = $Config['DeniedExtensions'][$resourceType] ;
+ if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
+ {
+ $iCounter = 0 ;
+ while ( true )
+ {
+ $sFilePath = $sServerDir . $sFileName ;
+ if ( is_file( $sFilePath ) )
+ {
+ $iCounter++ ;
+ $sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
+ $sErrorNumber = '201' ;
+ }
+ else
+ {
+ move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
+ if ( is_file( $sFilePath ) )
+ {
+ $oldumask = umask(0) ;
+ chmod( $sFilePath, 0666 ) ;
+ umask( $oldumask ) ;
+ }
+ break ;
+ }
+ }
+ }
+ else
+ $sErrorNumber = '202' ;
+ }
+ else
+ $sErrorNumber = '202' ;
+ echo '<script type="text/javascript">' ;
+ echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
+ echo '</script>' ;
+ exit ;
+}
+
+function DeleteConfirmedFiles($resourceType, $currentFolder, $aFiles)
+{ global $Config;
+ $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+ foreach ($aFiles AS $k=>$v) {
+ @unlink($sServerDir.$v);
+ }
+
+}
+
+function DeleteFiles($resourceType, $currentFolder, $files = '', $confirm=0)
+{ global $Config ;
+ if ($files == '')
+ return;
+ //$files = rtrim("|",$files);
+ $aFiles=explode("|",$files);
+ if (count($aFiles) == 0)
+ return;
+ $conn = GetADODbConnection();
+ $aLangs = array();
+ $multilang = GetConfigValue('multilingual_mode');
+ $def_lang_prefix = GetConfigValue('default_lang_prefix');
+ if ($multilang)
+ {
+ $query="SELECT lang_prefix FROM lang ORDER BY lang_id";
+ $rs = $conn->Execute($query);
+ while ($rs && !$rs->EOF) {
+ $aLangs[] = $rs->fields['lang_prefix'];
+ $rs->MoveNext();
+ }
+ } else
+ $aLangs[] = $def_lang_prefix;
+ $sErrorNumber = 230;
+ if ($confirm == 1) {
+ DeleteConfirmedFiles($resourceType, $currentFolder, $aFiles);
+ echo '<Error number="100" originalDescription="" />' ;
+ }
+ if (!$confirm) {
+ foreach ($aFiles AS $k=>$v) {
+ $add_sql = '';
+ if ($v == '')
+ continue;
+ $deleted_file = $Config['UserFilesPathNoBase'].$resourceType.$currentFolder.addslashes($v);
+ for($i=0; $i<count($aLangs); $i++)
+ $add_sql.= " lb1.".$aLangs[$i]."_content LIKE '%".$deleted_file."%' OR";
+
+ if (strlen($add_sql) > 0) {
+ $add_sql = rtrim($add_sql," OR");
+ $sql = "SELECT lb1.template_id, lb2.".$def_lang_prefix."_content FROM live_blocks AS lb1
+ LEFT JOIN live_blocks AS lb2 ON lb2.template_id = lb1.template_id AND lb2.block_num = 20
+ WHERE".$add_sql;
+ $rs = $conn->Execute($sql);
+ while ($rs && !$rs->EOF) {
+ $used = 1;
+ $page = $rs->fields[$def_lang_prefix.'_content'];
+ $page = @html_entity_decode($page,ENT_NOQUOTES,'UTF-8');
+ $page = @htmlspecialchars($page);
+ $ret_xml.= '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute("File '".$v."'; Template: '".$page."'") . '" />' ;
+ $rs->MoveNext();
+ }
+ }
+ }
+ if ($ret_xml && !$confirm)
+ echo $ret_xml;
+ if (!$ret_xml && !$confirm) {
+ DeleteConfirmedFiles($resourceType, $currentFolder, $aFiles);
+ echo '<Error number="100" originalDescription="" />' ;
+ }
+ }
+}
+
+?>
Property changes on: branches/unlabeled/unlabeled-1.44.2/admin/editor/cmseditor/editor/filemanager/browser/default/connectors/php/commands.php
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.44
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property

Event Timeline