NEW Can use native php and dolibarr object on pages of module website.

This commit is contained in:
Laurent Destailleur 2016-09-16 01:00:24 +02:00
parent 68b3de5b37
commit 72aacb81ae
5 changed files with 86 additions and 24 deletions

View File

@ -195,6 +195,7 @@ class DolEditor
readOnly : '.($this->readonly?'true':'false').',
htmlEncodeOutput :'.$htmlencode_force.',
allowedContent :'.($disallowAnyContent?'false':'true').',
extraAllowedContent : \'\',
fullPage : '.($fullpage?'true':'false').',
toolbar: \''.$this->toolbarname.'\',
toolbarStartupExpanded: '.($this->toolbarstartexpanded ? 'true' : 'false').',

View File

@ -144,6 +144,7 @@ if (! file_exists($original_file_osencoded))
// Output page content
define('USEDOLIBARRSERVER', 1);
print "\n".'<!-- Page content '.$original_file.' : Html with CSS link + Body was saved into tpl -->'."\n";
include_once $original_file_osencoded;

View File

@ -39,17 +39,17 @@ CKEDITOR.editorConfig = function( config )
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['BidiLtr', 'BidiRtl'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'],
['Image','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'],
['Styles','Format','Font','FontSize'],
['TextColor','BGColor'],
['Maximize', 'ShowBlocks','-','About']
['Maximize', 'ShowBlocks']
];
// Used for mailing fields
config.toolbar_dolibarr_mailings =
[
['Source','Maximize','Preview'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
@ -62,7 +62,7 @@ CKEDITOR.editorConfig = function( config )
config.toolbar_dolibarr_notes =
[
['Source','Maximize'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
@ -75,7 +75,7 @@ CKEDITOR.editorConfig = function( config )
config.toolbar_dolibarr_details =
[
['Source','Maximize'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
['NumberedList','BulletedList','Outdent','Indent'],

View File

@ -39,17 +39,17 @@ CKEDITOR.editorConfig = function( config )
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['BidiLtr', 'BidiRtl'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'],
['Image','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'],
['Styles','Format','Font','FontSize'],
['TextColor','BGColor'],
['Maximize', 'ShowBlocks','-','About']
['Maximize', 'ShowBlocks']
];
// Used for mailing fields
config.toolbar_dolibarr_mailings =
[
['Source','Maximize','Preview'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
@ -62,7 +62,7 @@ CKEDITOR.editorConfig = function( config )
config.toolbar_dolibarr_notes =
[
['Source','Maximize'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Undo','Redo','-','Find','Replace'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
@ -75,7 +75,7 @@ CKEDITOR.editorConfig = function( config )
config.toolbar_dolibarr_details =
[
['Source','Maximize'],
['Cut','Copy','Paste','-','SpellChecker'],
['Cut','Copy','Paste','-','SpellChecker', 'Scayt'],
['Format','Font','FontSize'],
['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'],
['NumberedList','BulletedList','Outdent','Indent'],

View File

@ -325,35 +325,54 @@ if ($action == 'updatemeta')
{
$db->commit();
$filemaster=$pathofwebsite.'/master.inc.php';
$fileoldalias=$pathofwebsite.'/'.$objectpage->old_object->pageurl.'.php';
$filealias=$pathofwebsite.'/'.$objectpage->pageurl.'.php';
// Generate the alias.php page
//-----------------------------
dol_syslog("We regenerate alias page new name=".$filealias.", old name=".$fileoldalias);
dol_mkdir($pathofwebsite);
dol_delete_file($fileoldalias);
// Now generate the master.inc.php page
dol_syslog("We regenerate the master file");
dol_delete_file($filemaster);
$mastercontent = '<?php'."\n";
$mastercontent.= '// File generated to link to the master file'."\n";
$mastercontent.= "if (! defined('USEDOLIBARRSERVER')) require '".DOL_DOCUMENT_ROOT."/master.inc.php';\n";
$mastercontent.= '?>'."\n";
$result = file_put_contents($filemaster, $mastercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filemaster, octdec($conf->global->MAIN_UMASK));
if (! $result) setEventMessages('Failed to write file '.$filemaster, null, 'errors');
// Now generate the alias.php page
if (! empty($fileoldalias))
{
dol_syslog("We regenerate alias page new name=".$filealias.", old name=".$fileoldalias);
dol_delete_file($fileoldalias);
}
$aliascontent = '<?php'."\n";
$aliascontent.= '// File generated to wrap the alias page'."\n";
$aliascontent.= "include_once './page".$objectpage->id.".tpl.php'\n";
$aliascontent.= "include_once './page".$objectpage->id.".tpl.php';\n";
$aliascontent.= '?>'."\n";
$result = file_put_contents($filealias, $aliascontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs');
else setEventMessages('Failed to write file '.$filealias, null, 'errors');
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
// Now create the .tpl file (duplicate code with actions updatecontent but we need this to save new header)
dol_syslog("We regenerate the tpl page filetpl=".$filetpl);
dol_mkdir($pathofwebsite);
dol_delete_file($filetpl);
$tplcontent = '<html>'."\n";
$tplcontent ='';
$tplcontent.= '<?php require "./master.inc.php"; ?>'."\n";
$tplcontent.= '<html>'."\n";
$tplcontent.= '<header>'."\n";
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
@ -376,7 +395,7 @@ if ($action == 'updatemeta')
if ($result)
{
//setEventMessages($langs->trans("Saved"), null, 'mesgs');
setEventMessages($langs->trans("Saved"), null, 'mesgs');
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid);
//exit;
}
@ -423,12 +442,53 @@ if ($action == 'updatecontent')
{
$db->commit();
$filemaster=$pathofwebsite.'/master.inc.php';
//$fileoldalias=$pathofwebsite.'/'.$objectpage->old_object->pageurl.'.php';
$filealias=$pathofwebsite.'/'.$objectpage->pageurl.'.php';
dol_mkdir($pathofwebsite);
// Now generate the master.inc.php page
dol_syslog("We regenerate the master file");
dol_delete_file($filemaster);
$mastercontent = '<?php'."\n";
$mastercontent.= '// File generated to link to the master file'."\n";
$mastercontent.= "if (! defined('USEDOLIBARRSERVER')) require '".DOL_DOCUMENT_ROOT."/master.inc.php';\n";
$mastercontent.= '?>'."\n";
$result = file_put_contents($filemaster, $mastercontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filemaster, octdec($conf->global->MAIN_UMASK));
if (! $result) setEventMessages('Failed to write file '.$filemaster, null, 'errors');
// Now generate the alias.php page
if (! empty($fileoldalias))
{
dol_syslog("We regenerate alias page new name=".$filealias.", old name=".$fileoldalias);
dol_delete_file($fileoldalias);
}
$aliascontent = '<?php'."\n";
$aliascontent.= '// File generated to wrap the alias page'."\n";
$aliascontent.= "include_once './page".$objectpage->id.".tpl.php';\n";
$aliascontent.= '?>'."\n";
$result = file_put_contents($filealias, $aliascontent);
if (! empty($conf->global->MAIN_UMASK))
@chmod($filealias, octdec($conf->global->MAIN_UMASK));
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
// Now create the .tpl file
// TODO Keep a one time generate file or include a dynamicaly generated content ?
dol_mkdir($pathofwebsite);
dol_delete_file($filetpl);
$tplcontent = '<html>'."\n";
$tplcontent ='';
$tplcontent.= '<?php require "./master.inc.php"; ?>'."\n";
$tplcontent.= '<html>'."\n";
$tplcontent.= '<header>'."\n";
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";