Factorize duplicate code
This commit is contained in:
parent
46586f3055
commit
8bba9fa149
@ -529,52 +529,8 @@ if ($action == 'updatemeta')
|
|||||||
|
|
||||||
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
|
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
|
||||||
|
|
||||||
|
// Save page of content
|
||||||
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
|
$result=dolSavePageContent($filetpl, $object, $objectpage);
|
||||||
dol_syslog("We regenerate the tpl page filetpl=".$filetpl);
|
|
||||||
|
|
||||||
dol_delete_file($filetpl);
|
|
||||||
|
|
||||||
// TODO Same code than into updatesource updatecontent
|
|
||||||
$tplcontent ='';
|
|
||||||
$tplcontent.= "<?php // BEGIN PHP\n";
|
|
||||||
$tplcontent.= '$websitekey=basename(dirname(__FILE__));'."\n";
|
|
||||||
$tplcontent.= "if (! defined('USEDOLIBARRSERVER')) { require_once './master.inc.php'; } // Not already loaded"."\n";
|
|
||||||
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
|
|
||||||
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
|
|
||||||
$tplcontent.= "ob_start();\n";
|
|
||||||
$tplcontent.= "// END PHP ?>\n";
|
|
||||||
$tplcontent.= '<html>'."\n";
|
|
||||||
$tplcontent.= '<head>'."\n";
|
|
||||||
$tplcontent.= '<title>'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'</title>'."\n";
|
|
||||||
$tplcontent.= '<meta charset="UTF-8">'."\n";
|
|
||||||
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="viewport" content="width=device-width, initial-scale=0.8">'."\n";
|
|
||||||
$tplcontent.= '<link rel="canonical" href="'.$objectpage->pageurl.'">'."\n";
|
|
||||||
$tplcontent.= '<meta name="keywords" content="'.join(', ', explode(',',$objectpage->keywords)).'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="title" content="'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="description" content="'.dol_string_nohtmltag($objectpage->description, 0, 'UTF-8').'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="generator" content="'.DOL_APPLICATION_TITLE.' '.DOL_VERSION.'" />'."\n";
|
|
||||||
$tplcontent.= '<!-- Include link to CSS file -->'."\n";
|
|
||||||
$tplcontent.= '<link rel="stylesheet" href="styles.css.php?websiteid='.$object->id.'" type="text/css" />'."\n";
|
|
||||||
$tplcontent.= '<!-- Include common HTML header file -->'."\n";
|
|
||||||
$tplcontent.= '<?php print file_get_contents(DOL_DATA_ROOT."/websites/'.$object->ref.'/htmlheader.html"); ?>'."\n";
|
|
||||||
$tplcontent.= '</head>'."\n";
|
|
||||||
|
|
||||||
$tplcontent.= '<!-- File generated by Dolibarr website module editor -->'."\n";
|
|
||||||
$tplcontent.= '<body id="bodywebsite" class="bodywebsite">'."\n";
|
|
||||||
$tplcontent.= $objectpage->content."\n";
|
|
||||||
$tplcontent.= '</body>'."\n";
|
|
||||||
|
|
||||||
$tplcontent.= '<?php // BEGIN PHP'."\n";
|
|
||||||
$tplcontent.= '$tmp = ob_get_contents(); ob_end_clean(); dolWebsiteOutput($tmp);'."\n";
|
|
||||||
$tplcontent.= "// END PHP ?>"."\n";
|
|
||||||
|
|
||||||
//var_dump($filetpl);exit;
|
|
||||||
$result = file_put_contents($filetpl, $tplcontent);
|
|
||||||
if (! empty($conf->global->MAIN_UMASK))
|
|
||||||
@chmod($filetpl, octdec($conf->global->MAIN_UMASK));
|
|
||||||
|
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -582,7 +538,12 @@ if ($action == 'updatemeta')
|
|||||||
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid);
|
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid);
|
||||||
//exit;
|
//exit;
|
||||||
}
|
}
|
||||||
else setEventMessages('Failed to write file '.$filetpl, null, 'errors');
|
else
|
||||||
|
{
|
||||||
|
setEventMessages('Failed to write file '.$filetpl, null, 'errors');
|
||||||
|
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid);
|
||||||
|
//exit;
|
||||||
|
}
|
||||||
|
|
||||||
$action='preview';
|
$action='preview';
|
||||||
}
|
}
|
||||||
@ -730,48 +691,8 @@ if (($action == 'updatesource' || $action == 'updatecontent' || $action == 'conf
|
|||||||
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
|
if (! $result) setEventMessages('Failed to write file '.$filealias, null, 'errors');
|
||||||
|
|
||||||
|
|
||||||
// Now create the .tpl file with code to be able to make dynamic changes
|
// Save page content
|
||||||
dol_delete_file($filetpl);
|
$result=dolSavePageContent($filetpl, $object, $objectpage);
|
||||||
|
|
||||||
// TODO Same code than into updatemeta
|
|
||||||
$tplcontent ='';
|
|
||||||
$tplcontent.= "<?php // BEGIN PHP\n";
|
|
||||||
$tplcontent.= '$websitekey=basename(dirname(__FILE__));'."\n";
|
|
||||||
$tplcontent.= "if (! defined('USEDOLIBARRSERVER')) { require_once './master.inc.php'; } // Not already loaded"."\n";
|
|
||||||
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
|
|
||||||
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
|
|
||||||
$tplcontent.= "ob_start();\n";
|
|
||||||
$tplcontent.= "// END PHP ?>\n";
|
|
||||||
$tplcontent.= '<html>'."\n";
|
|
||||||
$tplcontent.= '<head>'."\n";
|
|
||||||
$tplcontent.= '<title>'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'</title>'."\n";
|
|
||||||
$tplcontent.= '<meta charset="UTF-8">'."\n";
|
|
||||||
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="viewport" content="width=device-width, initial-scale=0.8">'."\n";
|
|
||||||
$tplcontent.= '<meta name="keywords" content="'.join(', ', explode(',',$objectpage->keywords)).'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="title" content="'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="description" content="'.dol_string_nohtmltag($objectpage->description, 0, 'UTF-8').'" />'."\n";
|
|
||||||
$tplcontent.= '<meta name="generator" content="'.DOL_APPLICATION_TITLE.' '.DOL_VERSION.'" />'."\n";
|
|
||||||
$tplcontent.= '<!-- Include link to CSS file -->'."\n";
|
|
||||||
$tplcontent.= '<link rel="stylesheet" href="styles.css.php?websiteid='.$object->id.'" type="text/css" />'."\n";
|
|
||||||
$tplcontent.= '<!-- Include common HTML header file -->'."\n";
|
|
||||||
$tplcontent.= '<?php print file_get_contents(DOL_DATA_ROOT."/websites/'.$object->ref.'/htmlheader.html"); ?>'."\n";
|
|
||||||
$tplcontent.= '</head>'."\n";
|
|
||||||
|
|
||||||
$tplcontent.= '<!-- File generated by Dolibarr website module editor -->'."\n";
|
|
||||||
$tplcontent.= '<body id="bodywebsite" class="bodywebsite">'."\n";
|
|
||||||
$tplcontent.= $objectpage->content."\n";
|
|
||||||
$tplcontent.= '</body>'."\n";
|
|
||||||
|
|
||||||
$tplcontent.= '<?php // BEGIN PHP'."\n";
|
|
||||||
$tplcontent.= '$tmp = ob_get_contents(); ob_end_clean(); dolWebsiteOutput($tmp);'."\n";
|
|
||||||
$tplcontent.= "// END PHP ?>"."\n";
|
|
||||||
|
|
||||||
//var_dump($filetpl);exit;
|
|
||||||
$result = file_put_contents($filetpl, $tplcontent);
|
|
||||||
if (! empty($conf->global->MAIN_UMASK))
|
|
||||||
@chmod($filetpl, octdec($conf->global->MAIN_UMASK));
|
|
||||||
|
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -1447,3 +1368,69 @@ if ($action == 'preview' || $action == 'createpagefromclone')
|
|||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save content of a page on disk
|
||||||
|
*
|
||||||
|
* @param string $filetpl Full path of filename to generate
|
||||||
|
* @param Website $object Object website
|
||||||
|
* @param WebsitePage $objectpage Object websitepage
|
||||||
|
* @return boolean True if OK
|
||||||
|
*/
|
||||||
|
function dolSavePageContent($filetpl, $object, $objectpage)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
// Now create the .tpl file (duplicate code with actions updatesource or updatecontent but we need this to save new header)
|
||||||
|
dol_syslog("We regenerate the tpl page filetpl=".$filetpl);
|
||||||
|
|
||||||
|
dol_delete_file($filetpl);
|
||||||
|
|
||||||
|
// TODO Same code than into updatemeta
|
||||||
|
$shortlangcode = '';
|
||||||
|
if ($objectpage->lang) $shortlangcode=preg_replace('/[_-].*$/', '', $objectpage->lang); // en_US or en-US -> en
|
||||||
|
|
||||||
|
$tplcontent ='';
|
||||||
|
$tplcontent.= "<?php // BEGIN PHP\n";
|
||||||
|
$tplcontent.= '$websitekey=basename(dirname(__FILE__));'."\n";
|
||||||
|
$tplcontent.= "if (! defined('USEDOLIBARRSERVER')) { require_once './master.inc.php'; } // Not already loaded"."\n";
|
||||||
|
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
|
||||||
|
$tplcontent.= "require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
|
||||||
|
$tplcontent.= "ob_start();\n";
|
||||||
|
$tplcontent.= "// END PHP ?>\n";
|
||||||
|
$tplcontent.= '<html'.($shortlangcode ? ' lang="'.$shortlangcode.'"':'').'>'."\n";
|
||||||
|
$tplcontent.= '<head>'."\n";
|
||||||
|
$tplcontent.= '<title>'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'</title>'."\n";
|
||||||
|
$tplcontent.= '<meta charset="UTF-8">'."\n";
|
||||||
|
$tplcontent.= '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'."\n";
|
||||||
|
$tplcontent.= '<meta name="robots" content="index, follow" />'."\n";
|
||||||
|
$tplcontent.= '<meta name="viewport" content="width=device-width, initial-scale=0.8">'."\n";
|
||||||
|
$tplcontent.= '<meta name="keywords" content="'.join(', ', explode(',',$objectpage->keywords)).'" />'."\n";
|
||||||
|
$tplcontent.= '<meta name="title" content="'.dol_string_nohtmltag($objectpage->title, 0, 'UTF-8').'" />'."\n";
|
||||||
|
$tplcontent.= '<meta name="description" content="'.dol_string_nohtmltag($objectpage->description, 0, 'UTF-8').'" />'."\n";
|
||||||
|
$tplcontent.= '<meta name="generator" content="'.DOL_APPLICATION_TITLE.' '.DOL_VERSION.'" />'."\n";
|
||||||
|
$tplcontent.= '<!-- Include link to CSS file -->'."\n";
|
||||||
|
$tplcontent.= '<link rel="stylesheet" href="styles.css.php?websiteid='.$object->id.'" type="text/css" />'."\n";
|
||||||
|
$tplcontent.= '<!-- Include common HTML header file -->'."\n";
|
||||||
|
$tplcontent.= '<?php print file_get_contents(DOL_DATA_ROOT."/websites/'.$object->ref.'/htmlheader.html"); ?>'."\n";
|
||||||
|
$tplcontent.= '</head>'."\n";
|
||||||
|
|
||||||
|
$tplcontent.= '<!-- File generated by Dolibarr website module editor -->'."\n";
|
||||||
|
$tplcontent.= '<body id="bodywebsite" class="bodywebsite">'."\n";
|
||||||
|
$tplcontent.= $objectpage->content."\n";
|
||||||
|
$tplcontent.= '</body>'."\n";
|
||||||
|
|
||||||
|
$tplcontent.= '<?php // BEGIN PHP'."\n";
|
||||||
|
$tplcontent.= '$tmp = ob_get_contents(); ob_end_clean(); dolWebsiteOutput($tmp);'."\n";
|
||||||
|
$tplcontent.= "// END PHP ?>"."\n";
|
||||||
|
|
||||||
|
//var_dump($filetpl);exit;
|
||||||
|
$result = file_put_contents($filetpl, $tplcontent);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($filetpl, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user