[svn r10141] First draft of FCKeditor improvements http://projects.dokeos.com/?do=details&id=128

- The maximasation of FCKeditor may hide some others elements into form
- A new toolbar agancement
- A new gallery system
- Templates works now everywhere
skala
Ludovic Gasc 19 years ago
parent 7ed3163cb4
commit 1f1e87c315
  1. 5
      main/chat/chat.php
  2. 27
      main/course_home/css/dokeos_corporate.css
  3. 40
      main/css/default/default.css
  4. 16
      main/inc/lib/fckeditor/editor/plugins/ImageManager/manager.php
  5. 43
      main/inc/lib/fckeditor/fckconfig.js
  6. 70
      main/inc/lib/fckeditor/fcktemplates.xml.php
  7. 6
      main/inc/lib/formvalidator/Element/html_editor.php
  8. 21
      main/inc/lib/formvalidator/Rule/allowed_tags.inc.php

@ -1,4 +1,4 @@
<?php // $Id: chat.php 9850 2006-10-30 14:47:42Z bmol $
<?php // $Id: chat.php 10141 2006-11-23 05:12:52Z gmludo $
/*
==============================================================================
Dokeos - elearning and course management software
@ -83,7 +83,8 @@ $params['frozen_nick'] = true;
$params['max_nick_len'] = 100;
$params['height'] = "300px";
$params['refresh_delay'] = 2000;
$params['xajaxpath'] = api_get_path(LIBRARY_PATH).'/xajax/';
$params['xajaxpath'] = api_get_path(LIBRARY_PATH).'xajax/';
echo $params['xajaxpath'];
// $params['debug'] = true;
// $params['debugxajax'] = true;

@ -1,11 +1,16 @@
/*html,body{margin:0;padding:0}*/
.course {font: 76% arial,sans-serif; margin: 1.5em; line-height: 1.6em; }
.course a{display:block;color: #006;padding:10px}
.course #header{ margin: 0 0 20px 0; border: 1px solid #ccc; }
.course #header h1{ line-height:80px; margin:0; padding-left:10px;background: #EEE; }
.course #content { border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.course li { list-style-type: square; background: #FCFFC6; border: 1px solid #ccc; margin: 0 0 5px 0; padding: 3px ;}
.course #footer{ clear:both; border: 1px solid #ccc; padding: 10px; }
.course #left { float: left; width: 45%; border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.course #right{float:right;width: 45%; border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.course .image { border: 1px solid #ccc; background: #eee; text-align: center; padding: 10px; }
.dokeos_course {float:center; width: 98%; font: 76% arial,sans-serif; margin: 1.5em; line-height: 1.6em; }
.dokeos_course #title{ font-size: 48px; text-align: center; }
.dokeos_course a{display:block;color: #006;padding:10px}
.dokeos_course #header{ margin: 0 0 20px 0; border: 1px solid #ccc; }
.dokeos_course #header h1{ line-height:80px; margin:0; padding-left:10px;background: #EEE; }
.dokeos_course #content {float:center; width: 98%; border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.dokeos_course li { list-style-type: square; background: #FCFFC6; border: 1px solid #ccc; margin: 0 0 5px 0; padding: 3px ;}
.dokeos_course #footer{ clear:both; border: 1px solid #ccc; padding: 10px; }
.dokeos_course #left { float: left; width: 46%; border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.dokeos_course #right{float:right; width: 46%; border: 1px solid #ccc; padding: 10px; margin: 0 0 15px 0;}
.dokeos_course .image { float: center; border: 1px solid #ccc; padding: 10px; }
.dokeos_course .data { border: 1px solid #ccc; width: 100%; }
.dokeos_course .data td { background: #eee; padding: 5px; }
.dokeos_course .data td:hover { background: #d8d8d8; }
.dokeos_course .data td.item { background: #FFFAD7; font-weight: bold; }
.dokeos_course .data td.item:hover { background: #EBE5BC; }

@ -131,7 +131,7 @@ input[text] {font-size: 12px; }
margin: 0;
}
/********************************************************
* HEADER 1: Title, portal, organisation, title *
* HEADER 1: Title, portal, organisation, course title *
********************************************************/
#header1 {
font-size: 12px;
@ -156,7 +156,7 @@ input[text] {font-size: 12px; }
float: left;
font-weight: bold;
}
#my_s {
#my_courses {
float: right;
font-weight: bold;
}
@ -249,8 +249,8 @@ margin: 0px; padding: 0px 20px 0px 0px;
PADDING-TOP: 0px
}
#header3 #current {
background-color: #fff;
border-bottom: 1px solid #fff;
background-color: #e9a151;
border-bottom: 1px solid #4171b5;
}
#header3 #current A {
COLOR: #fff
@ -392,7 +392,7 @@ border-left: solid 1px rgb(115,162,182);
/* --- navigation menu as a definition list --- */
/* --- course navigation menu as a definition list --- */
#toolnavbox {
margin: 0 0 0 10px;
padding: 0;
@ -447,7 +447,7 @@ border-left: solid 1px rgb(115,162,182);
background: #fff;
color:#4171b5;
}
/* --- end of navigation menu section --- */
/* --- end of course navigation menu section --- */
/*
this lets the navigation menu appear to the left:
#center { margin: 0 0 0 180px; padding: 10px 0 40px 0;
@ -507,9 +507,9 @@ input.liteoption {
/*****************************************************
* HOMEPAGE *
* COURSE HOMEPAGE *
*****************************************************/
/* various sections in -home.php file */
/* various sections in course-home.php file */
#toolremove {
width: 40%;
color: #f00;
@ -519,19 +519,14 @@ input.liteoption {
border: 2px solid #f00;
}
/* grey text */
#grey{
color: #808080;
}
#intro { clear: both; width: 80%; margin: 10px auto;
#courseintro { clear: both; width: 80%; margin: 10px auto;
padding: 10px; border-bottom: 1px solid #4171B5;}
#intro_icons { clear: both; width: 80%; margin: 10px auto;}
#courseintro_icons { clear: both; width: 80%; margin: 10px auto;}
.everybodyview { position: relative; /* to avoid the IE peekabo bug ?*/
width: 80%; margin: 10px auto; padding: 10px;}
.Authoringview,.adminview, .platformadminview {position: relative; width: 80%;
.Authoringview,.courseadminview, .platformadminview {position: relative; width: 80%;
margin: 25px auto 10px; padding: 10px; border: 1px solid #4171B5;}
.viewcaption {position: relative; top: -20px; font-size: 12px;
@ -932,7 +927,7 @@ div.admin_section h4 {
border-bottom: 1px solid gray;
width: 100%;
}
.user__category {
.user_course_category {
background-color: #efefef;
border: 1px solid #666;
font-weight: bold;
@ -1378,4 +1373,15 @@ padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;}
border-bottom: 1px solid #fff;
background: #fff;
color: #000;
}
/* FCKeditor */
#content___Frame, #forum_category_comment___Frame, #forum_comment___Frame, #post_text___Frame
{
margin-left: -200px;
}
#intro_content___Frame
{
margin-left: -100px;
}

@ -28,7 +28,7 @@
var base_url = "<?php echo $manager->getBaseURL(); ?>";
var server_name = "<?php echo $IMConfig['server_name']; ?>";
window.resizeTo(600, 460);
window.resizeTo(600, 330);
if(window.opener.ImageManager && window.opener.ImageManager.I18N)
{
@ -84,7 +84,12 @@
</div>
</fieldset>
<!-- image properties -->
<table class="inputTable">
<input type="file" name="upload" id="upload"/>&nbsp;<button type="submit" name="submit" onclick="doUpload();"/>Upload</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button type="button" class="buttons" onclick="return refresh();" style="visibility:hidden;">Refresh</button>
<button type="button" class="buttons" onclick="return onOK();">OK</button>
<button type="button" class="buttons" onclick="return onCancel();">Cancel</button>
<table class="inputTable" style="display:none;">
<tr>
<td align="right"><label for="f_url">Image File</label></td>
<td><input type="text" id="f_url" class="largelWidth" value="" /></td>
@ -95,7 +100,7 @@
<td rowspan="3" align="right">&nbsp;</td>
<td align="right"><label for="f_vert">V Space</label></td>
<td><input type="text" id="f_vert" class="smallWidth" value="" /></td>
</tr>
</tr>
<tr>
<td align="right"><label for="f_alt">Alt</label></td>
<td><input type="text" id="f_alt" class="largelWidth" value="" /></td>
@ -136,7 +141,7 @@
<td align="right"><label for="f_border">Border</label></td>
<td><input type="text" id="f_border" class="smallWidth" value="" /></td>
</tr>
<tr>
<tr>
<td colspan="4" align="right">
<input type="hidden" id="orginal_width" />
<input type="hidden" id="orginal_height" />
@ -148,9 +153,6 @@
<!--// image properties -->
<div style="text-align: right;">
<hr />
<button type="button" class="buttons" onclick="return refresh();">Refresh</button>
<button type="button" class="buttons" onclick="return onOK();">OK</button>
<button type="button" class="buttons" onclick="return onCancel();">Cancel</button>
</div>
<input type="hidden" id="f_file" name="f_file" />
</form>

@ -31,7 +31,7 @@ FCKConfig.FullPage = false ;
FCKConfig.Debug = false ;
FCKConfig.AllowQueryStringDebug = true ;
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/office2003/' ;
FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;
@ -76,21 +76,38 @@ FCKConfig.PreserveSessionOnFileBrowser = false ;
FCKConfig.FloatingPanelsZIndex = 10000 ;
FCKConfig.ToolbarSets["Default"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','ImageManager','-','Flash','Video','MP3','Table','Rule','Smiley','SpecialChar','UniversalKey'],
// ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
['NewPage','Templates','-','Save','Preview','Print'],
['Cut','Copy','Paste'],
['Undo','Redo','-','Find','Replace','-','RemoveFormat'],
['ImageManager','-','Flash','Video','MP3','Table','Rule','SpecialChar','UniversalKey'],
['Link','Unlink'],
['Source'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['About']
['FontFormat','FontName','FontSize'],
['Bold','Italic','Underline','StrikeThrough'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['OrderedList','UnorderedList','-','Outdent','Indent'],
['TextColor','BGColor']
] ;
// default toolbar of FCKeditor
// FCKConfig.ToolbarSets["Default"] = [
// ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
// ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
// ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
// ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
// ['OrderedList','UnorderedList','-','Outdent','Indent'],
// ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
// ['Link','Unlink','Anchor'],
// ['Image','ImageManager','-','Flash','Video','MP3','Table','Rule','Smiley','SpecialChar','UniversalKey'],
// ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
// '/',
// ['Style','FontFormat','FontName','FontSize'],
// ['TextColor','BGColor'],
// ['About']
// ] ;
var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
FCKConfig.Plugins.Add("Video", "en,it", sOtherPluginPath ) ;
FCKConfig.Plugins.Add("MP3", "en,it", sOtherPluginPath ) ;

@ -3,14 +3,18 @@ echo '<?xml version="1.0" encoding="utf-8" ?>';
require_once('../../conf/configuration.php');
$IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
$template_css = '<style type="text/css">'.file_get_contents($_configuration['root_sys'].'main/course_home/css/dokeos_corporate.css').'</style>';
?>
<Templates imagesBasePath="fck_template/images/">
<Template title="Content" image="2.png">
<Description>One main content</Description>
<Html>
<![CDATA[
<div id="content" class="course">
<h3>H3 Title</h3>
<?php echo $template_css; ?>
<div id="content" class="dokeos_course">
<h1 id="title">Title</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
<ul>
@ -28,8 +32,9 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
<Description>A template with array.</Description>
<Html>
<![CDATA[
<div id="content" class="course">
<h3>H3 Title</h3>
<?php echo $template_css; ?>
<div id="content" class="dokeos_course">
<h1 id="title">Title</h1>
<table class="data">
<tr>
@ -63,14 +68,15 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
<Description>Three areas for content.</Description>
<Html>
<![CDATA[
<div class="course">
<?php echo $template_css; ?>
<div class="dokeos_course">
<div id="right">
<p><img class="image" src="<?php echo $_configuration['root_web']; ?>main/img/gallery/pointer-right.png" /></p>
<p>Some text</p>
<p>A comment.</p>
</div>
<div id="left">
<h3>H3 Title</h3>
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
@ -78,26 +84,55 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
<div id="left">
<h3>H3 Title</h3>
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
</div>
]]>
</Html>
</Template>
<Template title="Three areas" image="14.png">
<Description>Three areas for content.</Description>
<Html>
<![CDATA[
<?php echo $template_css; ?>
<div class="dokeos_course">
<div id="left">
<p><img class="image" src="<?php echo $_configuration['root_web']; ?>main/img/gallery/pointer-left.png" align="center" /></p>
<p>A comment.</p>
</div>
<div id="right">
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
<div id="right">
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
</div>
]]>
</Html>
</Template>
<!--
<Template title="Three areas" image="18.png">
<Description>Three areas for content.</Description>
<Html>
<![CDATA[
<div class="course">
<?php echo $template_css; ?>
<div class="dokeos_course">
<div id="right">
<p>test</p>
</div>
<div id="left">
<h3>H3 Title</h3>
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<div id="right">
<p><img class="image" src="<?php echo $_configuration['root_web']; ?>main/img/gallery/pointer-right.png" /></p>
</div>
<div id="content">
<h3>H3 Title</h3>
@ -119,7 +154,8 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
<Description>Four areas for content.</Description>
<Html>
<![CDATA[
<div class="course">
<?php echo $template_css; ?>
<div class="dokeos_course">
<div class="left">
<p><img class="image" src="<?php echo $_configuration['root_web']; ?>main/img/gallery/pointer-left.png" /></p>
</div>
@ -131,13 +167,13 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
</div>
<br style="clear: both;" />
<div class="left">
<h3>H3 Title</h3>
<div class="image">Image placehoder</div>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<div class="right">
<h3>H3 Title</h3>
<div class="image">Image placehoder</div>
@ -146,5 +182,5 @@ $IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
</div>
]]>
</Html>
</Template>
</Template>-->
</Templates>

@ -1,5 +1,5 @@
<?php
// $Id: html_editor.php 9445 2006-10-11 13:33:25Z bmol $
// $Id: html_editor.php 10141 2006-11-23 05:12:52Z gmludo $
/*
==============================================================================
Dokeos - elearning and course management software
@ -108,7 +108,9 @@ class HTML_QuickForm_html_editor extends HTML_QuickForm_textarea
$fck_editor = new FCKeditor($name);
$fck_editor->BasePath = api_get_path(WEB_PATH).'main/inc/lib/fckeditor/';
$fck_editor->Width = $fck_attribute['Width'] ? $fck_attribute['Width'] : '800';
$fck_editor->Width = '990';
//$fck_editor->Width = $fck_attribute['Width'] ? $fck_attribute['Width'] : '100%';
//$fck_editor->Height = $this->fullPage ? '500' : '400';
$fck_editor->Height = $fck_attribute['Height'] ? $fck_attribute['Height'] : '400';
$fck_editor->Value = $this->getValue();

@ -347,6 +347,10 @@ $allowed_tags_student['strike'] = array();
// STRONG
$allowed_tags_student['strong'] = array();
// STYLE
$allowed_tags_student['style'] = array();
$allowed_tags_student['style']['type'] = array();
$allowed_tags_student['style']['media'] = array();
$allowed_tags_student_full_page['style'] = array();
$allowed_tags_student_full_page['style']['type'] = array();
$allowed_tags_student_full_page['style']['media'] = array();
@ -449,5 +453,22 @@ $allowed_tags_teacher['noscript'] = array();
// SCRIPT
$allowed_tags_teacher['script'] = array();
$allowed_tags_teacher['script']['type'] = array();
$allowed_tags_teacher['html'] = array();
$allowed_tags_teacher['html']['xmlns'] = array();
$allowed_tags_teacher['head'] = array();
$allowed_tags_teacher['head']['profile'] = array();
// BODY
$allowed_tags_teacher['body'] = array();
$allowed_tags_teacher['body']['alink'] = array();
$allowed_tags_teacher['body']['background'] = array();
$allowed_tags_teacher['body']['bgcolor'] = array();
$allowed_tags_teacher['body']['link'] = array();
$allowed_tags_teacher['body']['text'] = array();
$allowed_tags_teacher['body']['vlink'] = array();
$allowed_tags_teacher_full_page = $allowed_tags_student_full_page;
?>
Loading…
Cancel
Save