/phplist/admin/fckphplist.php
PHP | 516 lines | 396 code | 70 blank | 50 comment | 23 complexity | 0ec77dc9f958a972c9fe5108b9089014 MD5 | raw file
Possible License(s): LGPL-2.1, GPL-2.0, BSD-3-Clause, LGPL-2.0, CC-BY-SA-3.0, AGPL-1.0
- <?php
- require_once dirname(__FILE__).'/accesscheck.php';
- if ($_GET["action"] == "js") {
- ob_end_clean();
- $req = Sql_query("select name from {$tables["attribute"]} where type in ('textline','select') order by listorder");
- $attnames = ';preferences url;unsubscribe url';
- $attcodes = ';[PREFERENCES];[UNSUBSCRIBE]';
- while ($row = Sql_Fetch_Row($req)) {
- $attnames .= ';'.strtolower(substr($row[0],0,15));
- $attcodes .= ';['.strtoupper($row[0]).']';
- }
- $imgdir = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';
- $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
- $smileyextensions = array('gif');
- $smileys = '';
- if ($dir = opendir($smileypath)) {
- while (false !== ($file = readdir($dir)))
- {
- list($fname,$ext) = explode(".",$file);
- if (in_array($ext,$smileyextensions)) {
- $smileys .= '"'.$file.'",';
- }
- }
- }
- $smileys = substr($smileys,0,-1);
- ?>
- oTB_Items.Attribute = new TBCombo( "Attributes" , "doAttribute(this)" , 'Attribute' , '<?php echo $attnames?>', '<?=$attcodes?>') ;
- function doAttribute(combo)
- {
- if (combo.value != null && combo.value != "")
- insertHtml(combo.value);
- SetFocus();
- }
- config.BasePath = document.location.protocol + '//' + document.location.host +
- document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ;
- config.EditorAreaCSS = config.BasePath + 'css/fck_editorarea.css' ;
- config.BaseUrl = document.location.protocol + '//' + document.location.host + '/' ;
- config.EnableXHTML = false ;
- config.StartupShowBorders = false ;
- config.StartupShowDetails = false ;
- config.ForcePasteAsPlainText = false ;
- config.AutoDetectPasteFromWord = true ;
- config.UseBROnCarriageReturn = true ;
- config.TabSpaces = 4 ;
- config.AutoDetectLanguage = true ;
- config.DefaultLanguage = "en" ;
- config.SpellCheckerDownloadUrl = "http://www.rochen.com/ieSpellSetup201325.exe" ;
- config.ToolbarImagesPath = config.BasePath + "images/toolbar/" ;
- config.ToolbarSets["Default"] = [
- ['EditSource','-','Cut','Copy','Paste','PasteText','PasteWord','-','SpellCheck','Find','-','Undo','Redo','-','SelectAll','RemoveFormat','-','Link','RemoveLink','-','Image','Table','Rule','SpecialChar','Smiley','-','About'] ,
- ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','-','InsertOrderedList','InsertUnorderedList','-','Outdent','Indent','-','ShowTableBorders','ShowDetails','-','Zoom'] ,
- ['Attribute','-','FontFormat','-','Font','-','FontSize','-','TextColor','BGColor']
- ] ;
- // ['FontStyle','-','FontFormat','-','Font','-','Attribute','-','FontSize','-','TextColor','BGColor']
- config.StyleNames = ';Main Header;Blue Title;Centered Title' ;
- config.StyleValues = ';MainHeader;BlueTitle;CenteredTitle' ;
- config.ToolbarFontNames = ';Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
- config.LinkShowTargets = true ;
- config.LinkTargets = '_blank;_parent;_self;_top' ;
- config.LinkDefaultTarget = '_blank' ;
- config.ImageBrowser = <?php echo $enable_image_upload?> ;
- config.ImageBrowserURL = config.BasePath + "../?page=fckphplist&action=browseimage" ;
- config.ImageBrowserWindowWidth = 600 ;
- config.ImageBrowserWindowHeight = 480 ;
- config.ImageUpload = <?php echo $enable_image_upload?> ;
- // Page that effectivelly upload the image.
- config.ImageUploadURL = config.BasePath + "../?page=fckphplist&action=uploadimage" ;
- config.ImageUploadWindowWidth = 600 ;
- config.ImageUploadWindowHeight = 480 ;
- config.ImageUploadAllowedExtensions = ".gif .jpg .jpeg .png" ;
- config.LinkBrowser = false ;
- config.LinkBrowserURL = config.BasePath + "../?page=fckphplist&action=browsefile" ;
- config.LinkBrowserWindowWidth = 400 ;
- config.LinkBrowserWindowHeight = 250 ;
- config.LinkUpload = false ;
- config.LinkUploadURL = config.BasePath + "../?page=fckphplist&action=uploadfile" ;
- //config.SmileyPath = config.BasePath + "images/smiley/fun/" ;
- config.SmileyPath = document.location.protocol + '//' + document.location.host +'<?php echo $GLOBALS["pageroot"].'/images/smiley/'?>'
- config.SmileyImages = [<?php echo $smileys?>] ;
- config.SmileyColumns = 8 ;
- config.SmileyWindowWidth = 800 ;
- config.SmileyWindowHeight = 600 ;
- <?php exit;
- } elseif ($_GET["action"] == "browseimage") {
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003 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 go to http://www.fredck.com/FCKeditor/
- * or contact fckeditor@fredck.com.
- *
- * browse.php: Browse function.
- *
- * Authors:
- * Frederic TYNDIUK (http://www.ftls.org/ - tyndiuk[at]ftls.org)
- */
- // Init var :
- $IMAGES_BASE_URL = 'http://'.$_SERVER["SERVER_NAME"].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- $IMAGES_BASE_DIR = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- // End int var
- // Thanks : php dot net at phor dot net
- function walk_dir($path) {
- if ($dir = opendir($path)) {
- while (false !== ($file = readdir($dir)))
- {
- if ($file[0]==".") continue;
- if (is_dir($path."/".$file))
- $retval = array_merge($retval,walk_dir($path."/".$file));
- else if (is_file($path."/".$file))
- $retval[]=$path."/".$file;
- }
- closedir($dir);
- }
- return $retval;
- }
- function CheckImgExt($filename) {
- $img_exts = array("gif","jpg", "jpeg","png");
- foreach($img_exts as $this_ext) {
- if (preg_match("/\.$this_ext$/", $filename)) {
- return TRUE;
- }
- }
- return FALSE;
- }
- $files = array();
- foreach (walk_dir($IMAGES_BASE_DIR) as $file) {
- $file = preg_replace("#//+#", '/', $file);
- $IMAGES_BASE_DIR = preg_replace("#//+#", '/', $IMAGES_BASE_DIR);
- $file = preg_replace("#$IMAGES_BASE_DIR#", '', $file);
- if (CheckImgExt($file)) {
- $files[] = $file; //adding filenames to array
- }
- }
- sort($files); //sorting array
- // generating $html_img_lst
- foreach ($files as $file) {
- $html_img_lst .= "<a href=\"javascript:getImage('$file');\">$file</a><br>\n";
- }
- ob_end_clean();
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <HTML>
- <HEAD>
- <TITLE>Image Browser</TITLE>
- <LINK rel="stylesheet" type="text/css" href="./FCKeditor/css/fck_dialog.css">
- <SCRIPT language="javascript">
- var sImagesPath = "<?php echo $IMAGES_BASE_URL; ?>";
- var sActiveImage = "" ;
- function getImage(imageName)
- {
- sActiveImage = sImagesPath + imageName ;
- imgPreview.src = sActiveImage ;
- }
- function ok()
- {
- window.setImage(sActiveImage) ;
- window.close() ;
- }
- </SCRIPT>
- </HEAD>
- <BODY bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5">
- <TABLE cellspacing="1" cellpadding="1" border="0" width="100%" class="dlg" height="100%">
- <TR height="100%">
- <TD>
- <TABLE cellspacing="0" cellpadding="0" width="100%" border="0" height="100%">
- <TR>
- <TD width="45%" valign="top">
- <table cellpadding="0" cellspacing="0" height="100%" width="100%">
- <tr>
- <td width="100%">File : </td>
- </tr>
- <tr height="100%">
- <td>
- <DIV class="ImagePreviewArea"><?php echo $html_img_lst ?></DIV>
- </td>
- </tr>
- </table>
- </TD>
- <TD width="10%" > </TD>
- <TD>
- <table cellpadding="0" cellspacing="0" height="100%" width="100%">
- <tr>
- <td width="100%">Preview : </td>
- </tr>
- <tr>
- <td height="100%" align="center" valign="middle">
- <DIV class="ImagePreviewArea"><IMG id="imgPreview" border=1"></DIV>
- </td>
- </tr>
- </table>
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- <TR>
- <TD align="center">
- <INPUT style="WIDTH: 80px" type="button" value="OK" onclick="ok();">
- <INPUT style="WIDTH: 80px" type="button" value="Cancel" onclick="window.close();"><BR>
- </TD>
- </TR>
- </TABLE>
- </BODY>
- </HTML>
- <?php
- exit;
- } elseif ($_GET["action"] == "uploadimage") {
- // ob_end_clean();
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003 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 go to http://www.fredck.com/FCKeditor/
- * or contact fckeditor@fredck.com.
- *
- * upload.php: Basic file upload manager for the editor. You have
- * to have set a directory called "userimages" in the root folder
- * of your web site.
- *
- * Authors:
- * Frederic TYNDIUK (http://www.ftls.org/ - tyndiuk[at]ftls.org)
- */
- // Init var :
- $UPLOAD_BASE_URL = 'http://'.$_SERVER["SERVER_NAME"].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- $UPLOAD_BASE_DIR = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- // End int var
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
- <HTML>
- <HEAD>
- <TITLE>File Uploader</TITLE>
- <LINK rel="stylesheet" type="text/css" href="./FCKeditor/css/fck_dialog.css">
- </HEAD>
- <BODY><form>
- <TABLE eight="100%" width="100%">
- <TR>
- <TD align=center valign=middle><B>
- Upload in progress...
- <font color='red'><BR><BR>
- <?php
- if (file_exists($UPLOAD_BASE_DIR.$_FILES['FCKeditor_File']['name'])) {
- echo "Error : File ".$_FILES['FCKeditor_File']['name']." exists, can't overwrite it...";
- echo '<BR><BR><INPUT type="button" value=" Cancel " onclick="window.close()">';
- } else {
- if (is_uploaded_file($_FILES['FCKeditor_File']['tmp_name'])) {
- $savefile = $UPLOAD_BASE_DIR.$_FILES['FCKeditor_File']['name'];
- if (move_uploaded_file($_FILES['FCKeditor_File']['tmp_name'], $savefile)) {
- chmod($savefile, 0666);
- ?>
- <SCRIPT language=javascript>window.opener.setImage('<?php echo $UPLOAD_BASE_URL.$_FILES['FCKeditor_File']['name']; ?>') ; window.close();</SCRIPT>";
- <?php
- }
- } else {
- echo "Error : ";
- switch($_FILES['FCKeditor_File']['error']) {
- case 0: //no error; possible file attack!
- echo "There was a problem with your upload.";
- break;
- case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
- echo "The file you are trying to upload is too big.";
- break;
- case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
- echo "The file you are trying to upload is too big.";
- break;
- case 3: //uploaded file was only partially uploaded
- echo "The file you are trying upload was only partially uploaded.";
- break;
- case 4: //no file was uploaded
- echo "You must select an image for upload.";
- break;
- default: //a default error, just in case! :)
- echo "There was a problem with your upload.";
- break;
- }
- }
- echo '<BR><BR><INPUT type="button" value=" Cancel " onclick="window.close()">';
- } ?>
- </font></B></TD>
- </TR>
- </TABLE>
- </form></BODY>
- </HTML>
- <?php
- //exit;
- } elseif ($_GET['action'] == 'js2') {
- ob_end_clean();
- header('Content-type: text/plain');
- $req = Sql_query(sprintf('select name from %s where type in ("textline","select") order by listorder',$GLOBALS['tables']['attribute']));
- $attnames = ';preferences url;unsubscribe url';
- $attcodes = ';[PREFERENCES];[UNSUBSCRIBE]';
- while ($row = Sql_Fetch_Row($req)) {
- $attnames .= ';'.strtolower(substr($row[0],0,15));
- $attcodes .= ';['.strtoupper($row[0]).']';
- }
- $imgdir = $_SERVER['DOCUMENT_ROOT'].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
- $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';
- $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
- $smileyextensions = array('gif');
- $smileys = '';
- if ($dir = opendir($smileypath)) {
- while (false !== ($file = readdir($dir)))
- {
- list($fname,$ext) = explode(".",$file);
- if (in_array($ext,$smileyextensions)) {
- $smileys .= '"'.$file.'",';
- }
- }
- }
- $smileys = substr($smileys,0,-1);
- ?>
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2005 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: fckconfig.js
- * Editor configuration settings.
- * See the documentation for more info.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
- FCKConfig.CustomConfigurationsPath = '' ;
- FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
- FCKConfig.DocType = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ;
- FCKConfig.BaseHref = '' ;
- FCKConfig.FullPage = false;
- FCKConfig.Debug = false ;
- FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
- FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;
- // FCKConfig.Plugins.Add( 'placeholder', 'en,it' ) ;
- FCKConfig.AutoDetectLanguage = true ;
- FCKConfig.DefaultLanguage = 'en' ;
- FCKConfig.ContentLangDirection = 'ltr' ;
- FCKConfig.EnableXHTML = true ; // Unsupported: Do not change.
- FCKConfig.EnableSourceXHTML = true ; // Unsupported: Do not change.
- FCKConfig.ProcessHTMLEntities = true ;
- FCKConfig.IncludeLatinEntities = true ;
- FCKConfig.IncludeGreekEntities = true ;
- FCKConfig.FillEmptyBlocks = true ;
- FCKConfig.FormatSource = true ;
- FCKConfig.FormatOutput = true ;
- FCKConfig.FormatIndentator = ' ' ;
- FCKConfig.GeckoUseSPAN = true ;
- FCKConfig.StartupFocus = false ;
- FCKConfig.ForcePasteAsPlainText = false ;
- FCKConfig.ForceSimpleAmpersand = false ;
- FCKConfig.TabSpaces = 0 ;
- FCKConfig.ShowBorders = true ;
- FCKConfig.UseBROnCarriageReturn = false ;
- FCKConfig.ToolbarStartExpanded = true ;
- FCKConfig.ToolbarCanCollapse = true ;
- FCKConfig.IEForceVScroll = false ;
- FCKConfig.IgnoreEmptyParagraphValue = true ;
- FCKConfig.ToolbarSets["Default"] = [
- ['Source','DocProps','-','NewPage','Preview'],
- ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
- ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat','Link','Unlink','Anchor'],
- ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
- ['OrderedList','UnorderedList','-','Outdent','Indent'],
- ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
- ['Image','Flash','Table','Rule','Smiley','SpecialChar','UniversalKey','TextColor','BGColor'],
- '/',
- ['Style','FontFormat','FontName','FontSize'],
- ['About']
- ] ;
- // @@@ 'Save' taken out, gives the impression that the message is saved, but it isn't
- //@@@ need to add attribute selection
- FCKConfig.ToolbarSets["Basic"] = [
- ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
- ] ;
- FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','TableCell','Table','Form'] ;
- FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;
- FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
- FCKConfig.FontSizes = '1/xx-small;2/x-small;3/small;4/medium;5/large;6/x-large;7/xx-large' ;
- FCKConfig.FontFormats = 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;
- FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ;
- FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ;
- FCKConfig.SpellChecker = '';//'ieSpell' ; // 'ieSpell' | 'SpellerPages'
- FCKConfig.IeSpellDownloadUrl = '';//'http://www.iespell.com/rel/ieSpellSetup211325.exe' ;
- FCKConfig.MaxUndoLevels = 15 ;
- FCKConfig.DisableImageHandles = false ;
- FCKConfig.DisableTableHandles = false ;
- FCKConfig.LinkDlgHideTarget = false ;
- FCKConfig.LinkDlgHideAdvanced = false ;
- FCKConfig.ImageDlgHideLink = false ;
- FCKConfig.ImageDlgHideAdvanced = false ;
- FCKConfig.FlashDlgHideAdvanced = false ;
- FCKConfig.LinkBrowser = false ;
- FCKConfig.ImageBrowser = <?=$enable_image_upload?> ;
- // PHP
- FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/phplist/connector.php'
- FCKConfig.ImageBrowserWindowWidth = screen.width * 0.7 ; // 70% ;
- FCKConfig.ImageBrowserWindowHeight = screen.height * 0.7 ; // 70% ;
- // @@@ disabled for now
- FCKConfig.FlashBrowser = false ;
- // PHP
- FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/phplist/connector.php' ;
- FCKConfig.FlashBrowserWindowWidth = screen.width * 0.7 ; //70% ;
- FCKConfig.FlashBrowserWindowHeight = screen.height * 0.7 ; //70% ;
- FCKConfig.LinkUpload = false ;
- FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/asp/upload.asp' ;
- // PHP // FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/php/upload.php' ;
- FCKConfig.LinkUploadAllowedExtensions = "" ; // empty for all
- FCKConfig.LinkUploadDeniedExtensions = ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ; // empty for no one
- FCKConfig.ImageUpload = <?php echo $enable_image_upload?> ;
- FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/phplist/upload.php?Type=Image' ;
- FCKConfig.ImagePath = document.location.protocol + '//' + document.location.host +'<?php echo $GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/'?>'
- FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png)$" ; // empty for all
- FCKConfig.ImageUploadDeniedExtensions = "" ; // empty for no one
- FCKConfig.FlashUpload = false ;
- FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/asp/upload.asp?Type=Flash' ;
- // PHP // FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/php/upload.php?Type=Flash' ;
- FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla)$" ; // empty for all
- FCKConfig.FlashUploadDeniedExtensions = "" ; // empty for no one
- FCKConfig.SmileyPath = document.location.protocol + '//' + document.location.host +'<?php echo $GLOBALS["pageroot"].'/images/smiley/'?>'
- FCKConfig.SmileyImages = [<?php echo $smileys?>] ;
- FCKConfig.SmileyColumns = 8 ;
- FCKConfig.SmileyWindowWidth = 320 ;
- FCKConfig.SmileyWindowHeight = 240 ;
- if( window.console ) window.console.log( 'Config is loaded!' ) ; // @Packager.Compactor.RemoveLine
- <?
- exit;
- } elseif ($_GET["action"]) {
- print "Sorry, ".$_GET["action"]." has not been implemented yet";
- }
- ?>