" ; $oCurrentFolder = opendir( $sServerDir ) ; while ( $sFile = readdir( $oCurrentFolder ) ) { if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS' && is_dir( $sServerDir . $sFile ) ) $aFolders[] = $sFile; //echo '' ; } if (count($aFolders) > 0) { natcasesort($aFolders); foreach($aFolders AS $k=>$v) { echo '' ; } } closedir( $oCurrentFolder ) ; // Close the "Folders" node. echo "" ; } /* function GetCmsTree() { $conn = GetADODbConnection(); $query="SELECT st.* , wb.eng_content AS page_title FROM structure_templates st LEFT JOIN working_blocks AS wb ON (st.st_id = wb.template_id) AND (wb.block_type = 3) WHERE st_id != '5' AND st_path != '/cms' GROUP BY st_id ORDER BY st_lastupdate desc"; $rs = $conn->Execute($query); if ($rs && !$rs->EOF) { $ret = ""; while($rs && !$rs->EOF) { $ret.= ''; //echo $rs->fields['page_title']."
"; $rs->MoveNext(); } $ret.= '
'; echo $ret; } } */ function GetCmsTree() { global $Config; $ret = ""; if (isset($Config['K4Mode'])) { $ret.= K4ReadCmsTree(0); } else { $ret.= ReadCmsTree(0); } $ret.= ""; echo $ret; } function K4ReadCmsTree($cat_id, $level = 0) { $application =& kApplication::Instance(); $application->Init(); $query = 'SELECT PageId, Path, Title FROM '.TABLE_PREFIX.'Pages ORDER By Title'; $pages = $application->Conn->Query($query); $res = ''; foreach ($pages as $page) { $page_path = $page['Path'].'.html'; $title = $page['Title'].' ('.$page_path.')'; $res .= ''; } 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 ( $email_templates_folder_id == "" ) $email_templates_folder_id = 0; if ( $cms_mode == 1 ) { $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_path != '/cms' 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_path != '/cms%' ORDER BY st.st_order"; } //echo $query."
"; $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("&","&",$rs->fields['page_title']); $page = ereg_replace("\"",""",$page); $page = ereg_replace("'","'",$page); $page = ereg_replace("<","<",$page); $page = ereg_replace(">",">",$page); // echo $page."
"; //$page = htmlentities($rs->fields['page_title'],ENT_QUOTES); $page = $rs->fields['page_title']; $page = ereg_replace("ã","a",$page); */ $page = $rs->fields['page_title']; $page = @html_entity_decode($page,ENT_NOQUOTES,'UTF-8'); $page = @htmlspecialchars($page); //$page = ereg_replace("ã","a",$page); $res .= ''; $res .= ReadCmsTree($rs->fields['st_id'], $level+1); $rs->MoveNext(); } return $res; } } /* $res .= ' <![CDATA['.$prefix.$page.']]> fields['st_id'].']]> '; */ 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')) { // 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 = '' ; $sFiles = '' ; $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 .= '' ; } } } if (count($aFolders) > 0) { natcasesort($aFolders); switch ($aParams[1]) { case 'desc' : $aFolders = array_reverse($aFolders, true); break ; } foreach($aFolders AS $k=>$v) { $sFolders .= '' ; } } 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 .= '' ; } }elseif ($aParams[0] == 'size') { natcasesort($aFileSizes); if ($aParams[1] == 'desc') { $aFileSizes = array_reverse($aFileSizes, true); } foreach($aFileSizes AS $fk=>$fv) { $sFiles .= '' ; } } elseif ($aParams[0] == 'date') { natcasesort($aFileDate); if ($aParams[1] == 'desc') { $aFileDate = array_reverse($aFileDate, true); } foreach($aFileDate AS $fk=>$fv) { $sFiles .= '' ; } } } /* while ( $sFile = readdir( $oCurrentFolder ) ) { if ( $sFile != '.' && $sFile != '..' && $sFile != 'CVS') { if ( is_dir( $sServerDir . $sFile ) ) //$sFolders .= '' ; else { $iFileSize = filesize( $sServerDir . $sFile ) ; if ( $iFileSize > 0 ) { $iFileSize = round( $iFileSize / 1024 ) ; if ( $iFileSize < 1 ) $iFileSize = 1 ; } $sFiles .= '' ; } } */ if ($aParams[1] == "desc") { echo $sFiles ; echo '' ; echo $sFolders ; echo '' ; } else { echo $sFolders ; echo '' ; echo $sFiles ; echo '' ; } } 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 '' ; } 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( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $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 '' ; } } 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 = 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 '' ; exit ; } ?>