Can add more samples of pages. Add an exemple of page with dynamic
content.
This commit is contained in:
parent
46ceb11685
commit
b5d72edebc
@ -176,7 +176,21 @@ class FormWebsite
|
|||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
|
|
||||||
$arrayofsamples=array('empty'=>'EmptyPage', 'corporatehome'=>'CorporateHomePage');
|
$listofsamples = dol_dir_list(DOL_DOCUMENT_ROOT.'/website/samples', 'files', 0, '^page-sample-.*\.html$');
|
||||||
|
|
||||||
|
$arrayofsamples = array();
|
||||||
|
$arrayofsamples['empty']='EmptyPage'; // Always this one first
|
||||||
|
foreach($listofsamples as $sample)
|
||||||
|
{
|
||||||
|
$reg = array();
|
||||||
|
if (preg_match('/^page-sample-(.*)\.html$/', $sample['name'], $reg))
|
||||||
|
{
|
||||||
|
$key = $reg[1];
|
||||||
|
$labelkey = ucfirst($key);
|
||||||
|
if ($key == 'empty') $labelkey = 'EmptyPage';
|
||||||
|
$arrayofsamples[$key] = $labelkey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$out = '';
|
$out = '';
|
||||||
$out .= '<select id="select'.$htmlname.'" class="flat selectTypeOfContainer" name="'.$htmlname.'"'.($moreattrib?' '.$moreattrib:'').'>';
|
$out .= '<select id="select'.$htmlname.'" class="flat selectTypeOfContainer" name="'.$htmlname.'"'.($moreattrib?' '.$moreattrib:'').'>';
|
||||||
|
|||||||
@ -22,90 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert a page content to have correct links (based on DOL_URL_ROOT) into an html content. It replaces also dynamic content with '...php...'
|
|
||||||
* Used to ouput the page on the Preview from backoffice.
|
|
||||||
*
|
|
||||||
* @param Website $website Web site object
|
|
||||||
* @param string $content Content to replace
|
|
||||||
* @param int $removephppart 0=Replace PHP sections with a PHP badge. 1=Remove completely PHP sections.
|
|
||||||
* @param string $contenttype Content type
|
|
||||||
* @param int $containerid Contenair id
|
|
||||||
* @return boolean True if OK
|
|
||||||
* @see dolWebsiteOutput() for function used to replace content in a web server context
|
|
||||||
*/
|
|
||||||
function dolWebsiteReplacementOfLinks($website, $content, $removephppart = 0, $contenttype='html', $containerid='')
|
|
||||||
{
|
|
||||||
$nbrep = 0;
|
|
||||||
|
|
||||||
dol_syslog('dolWebsiteReplacementOfLinks start (contenttype='.$contenttype." containerid=".$containerid." USEDOLIBARREDITOR=".(defined('USEDOLIBARREDITOR')?'1':'')." USEDOLIBARRSERVER=".(defined('USEDOLIBARRSERVER')?'1':'').')', LOG_DEBUG);
|
|
||||||
//if ($contenttype == 'html') { print $content;exit; }
|
|
||||||
|
|
||||||
// Replace php code. Note $content may come from database and does not contains body tags.
|
|
||||||
$replacewith='...php...';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
$content = preg_replace('/value="<\?php((?!\?>).)*\?>\n*/ims', 'value="'.$replacewith.'"', $content);
|
|
||||||
|
|
||||||
$replacewith='"callto=#';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
$content = preg_replace('/"callto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
|
||||||
|
|
||||||
$replacewith='"mailto=#';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
$content = preg_replace('/"mailto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
|
||||||
|
|
||||||
$replacewith='src="php';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
$content = preg_replace('/src="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
|
||||||
|
|
||||||
$replacewith='href="php';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
$content = preg_replace('/href="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
|
||||||
|
|
||||||
//$replacewith='<span class="phptag">...php...</span>';
|
|
||||||
$replacewith='...phpx...';
|
|
||||||
if ($removephppart) $replacewith='';
|
|
||||||
//$content = preg_replace('/<\?php((?!\?toremove>).)*\?toremove>\n*/ims', $replacewith, $content);
|
|
||||||
/*if ($content === null) {
|
|
||||||
if (preg_last_error() == PREG_JIT_STACKLIMIT_ERROR) $content = 'preg_replace error (when removing php tags) PREG_JIT_STACKLIMIT_ERROR';
|
|
||||||
}*/
|
|
||||||
$content = dolStripPhpCode($content, $replacewith);
|
|
||||||
//var_dump($content);
|
|
||||||
|
|
||||||
// Replace relative link / with dolibarr URL
|
|
||||||
$content = preg_replace('/(href=")\/\"/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageid='.$website->fk_default_home.'"', $content, -1, $nbrep);
|
|
||||||
// Replace relative link /xxx.php#aaa or /xxx.php with dolibarr URL (we discard param ?...)
|
|
||||||
// TODO To support replacement of /xxx.php?bbb=ccc we must be able to replace only if link is not already DOL_URL_ROOT.'/website/index.php
|
|
||||||
$content = preg_replace('/(href=")\/?([^:\"]*)\.php(\?[^\"<>#]*)?(#[^\"<>]*)?\"/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2\4"', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
|
|
||||||
$content = preg_replace('/url\((["\']?)medias\//', 'url(\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
|
||||||
$content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
|
||||||
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
|
||||||
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
|
||||||
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
|
||||||
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
|
|
||||||
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
|
|
||||||
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: ...href="/document.php?modulepart="
|
|
||||||
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
|
||||||
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: ...href="/viewimage.php?modulepart="
|
|
||||||
$content=preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
|
||||||
|
|
||||||
dol_syslog('dolWebsiteReplacementOfLinks end', LOG_DEBUG);
|
|
||||||
//if ($contenttype == 'html') { print $content;exit; }
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove PHP code part from a string.
|
* Remove PHP code part from a string.
|
||||||
*
|
*
|
||||||
@ -185,6 +101,96 @@ function dolKeepOnlyPhpCode($str)
|
|||||||
return $newstr;
|
return $newstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a page content to have correct links (based on DOL_URL_ROOT) into an html content. It replaces also dynamic content with '...php...'
|
||||||
|
* Used to ouput the page on the Preview from backoffice.
|
||||||
|
*
|
||||||
|
* @param Website $website Web site object
|
||||||
|
* @param string $content Content to replace
|
||||||
|
* @param int $removephppart 0=Replace PHP sections with a PHP badge. 1=Remove completely PHP sections.
|
||||||
|
* @param string $contenttype Content type
|
||||||
|
* @param int $containerid Contenair id
|
||||||
|
* @return boolean True if OK
|
||||||
|
* @see dolWebsiteOutput() for function used to replace content in a web server context
|
||||||
|
*/
|
||||||
|
function dolWebsiteReplacementOfLinks($website, $content, $removephppart = 0, $contenttype='html', $containerid='')
|
||||||
|
{
|
||||||
|
$nbrep = 0;
|
||||||
|
|
||||||
|
dol_syslog('dolWebsiteReplacementOfLinks start (contenttype='.$contenttype." containerid=".$containerid." USEDOLIBARREDITOR=".(defined('USEDOLIBARREDITOR')?'1':'')." USEDOLIBARRSERVER=".(defined('USEDOLIBARRSERVER')?'1':'').')', LOG_DEBUG);
|
||||||
|
//if ($contenttype == 'html') { print $content;exit; }
|
||||||
|
|
||||||
|
// Replace php code. Note $content may come from database and does not contains body tags.
|
||||||
|
$replacewith='...php...';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
$content = preg_replace('/value="<\?php((?!\?>).)*\?>\n*/ims', 'value="'.$replacewith.'"', $content);
|
||||||
|
|
||||||
|
$replacewith='"callto=#';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
$content = preg_replace('/"callto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
||||||
|
|
||||||
|
$replacewith='"mailto=#';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
$content = preg_replace('/"mailto:<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
||||||
|
|
||||||
|
$replacewith='src="php';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
$content = preg_replace('/src="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
||||||
|
|
||||||
|
$replacewith='href="php';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
$content = preg_replace('/href="<\?php((?!\?>).)*\?>\n*/ims', $replacewith, $content);
|
||||||
|
|
||||||
|
//$replacewith='<span class="phptag">...php...</span>';
|
||||||
|
$replacewith='...php...';
|
||||||
|
if ($removephppart) $replacewith='';
|
||||||
|
//$content = preg_replace('/<\?php((?!\?toremove>).)*\?toremove>\n*/ims', $replacewith, $content);
|
||||||
|
/*if ($content === null) {
|
||||||
|
if (preg_last_error() == PREG_JIT_STACKLIMIT_ERROR) $content = 'preg_replace error (when removing php tags) PREG_JIT_STACKLIMIT_ERROR';
|
||||||
|
}*/
|
||||||
|
$content = dolStripPhpCode($content, $replacewith);
|
||||||
|
//var_dump($content);
|
||||||
|
|
||||||
|
// Protect the link styles.css.php to any replacement that we make after.
|
||||||
|
$content = str_replace('href="styles.css.php', 'href="!~!~!~styles.css.php', $content);
|
||||||
|
|
||||||
|
// Replace relative link / with dolibarr URL
|
||||||
|
$content = preg_replace('/(href=")\/\"/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageid='.$website->fk_default_home.'"', $content, -1, $nbrep);
|
||||||
|
// Replace relative link /xxx.php#aaa or /xxx.php with dolibarr URL (we discard param ?...)
|
||||||
|
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2\4"', $content, -1, $nbrep);
|
||||||
|
// Replace relative link /xxx.php?a=b&c=d#aaa or /xxx.php?a=b&c=d with dolibarr URL
|
||||||
|
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php\?([^#\"<>]*)(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2&\3\4"', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
|
||||||
|
$content = preg_replace('/url\((["\']?)medias\//', 'url(\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
|
$content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
||||||
|
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
|
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
||||||
|
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
|
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
|
||||||
|
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
|
||||||
|
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1!~!~!~'.DOL_URL_ROOT.'/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: ...href="/document.php?modulepart="
|
||||||
|
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
|
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: ...href="/viewimage.php?modulepart="
|
||||||
|
$content=preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// Remove the protection tag !~!~!~
|
||||||
|
$content = str_replace('!~!~!~', '', $content);
|
||||||
|
|
||||||
|
dol_syslog('dolWebsiteReplacementOfLinks end', LOG_DEBUG);
|
||||||
|
//if ($contenttype == 'html') { print $content;exit; }
|
||||||
|
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render a string of an HTML content and output it.
|
* Render a string of an HTML content and output it.
|
||||||
* Used to ouput the page when viewed from server (Dolibarr or Apache).
|
* Used to ouput the page when viewed from server (Dolibarr or Apache).
|
||||||
@ -221,36 +227,43 @@ function dolWebsiteOutput($content, $contenttype='html', $containerid='')
|
|||||||
{
|
{
|
||||||
global $website;
|
global $website;
|
||||||
|
|
||||||
|
// Protect the link styles.css.php to any replacement that we make after.
|
||||||
|
$content = str_replace('href="styles.css.php', 'href="!~!~!~styles.css.php', $content);
|
||||||
|
|
||||||
// Replace relative link / with dolibarr URL: ...href="/"...
|
// Replace relative link / with dolibarr URL: ...href="/"...
|
||||||
$content=preg_replace('/(href=")\/\"/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'"', $content, -1, $nbrep);
|
$content = preg_replace('/(href=")\/\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'"', $content, -1, $nbrep);
|
||||||
// Replace relative link /xxx.php with dolibarr URL: ...href="....php"
|
// Replace relative link /xxx.php#aaa or /xxx.php with dolibarr URL: ...href="....php" (we discard param ?...)
|
||||||
$content=preg_replace('/(href=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
|
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3"', $content, -1, $nbrep);
|
||||||
// Replace relative link /xxx with dolibarr URL: ...href="....php"
|
// Replace relative link /xxx.php?a=b&c=d#aaa or /xxx.php?a=b&c=d with dolibarr URL
|
||||||
$content=preg_replace('/(href=")\/?([a-zA-Z0-9\-]+)(\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(href=")\/?([^:\"\!]*)\.php\?([^#\"<>]*)(#[^\"<>]*)?\"/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2&\3\4"', $content, -1, $nbrep);
|
||||||
$content=preg_replace('/(href=")\/?([a-zA-Z0-9\-]+)(\?)/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep);
|
// Replace relative link without .php like /xxx#aaa or /xxx with dolibarr URL: ...href="....php"
|
||||||
|
$content = preg_replace('/(href=")\/?([a-zA-Z0-9\-_#]+)(\"|\?)/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2\3', $content, -1, $nbrep);
|
||||||
|
|
||||||
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: href="/document.php?modulepart=" => href="/dolibarr/document.php?modulepart="
|
// Fix relative link /document.php with correct URL after the DOL_URL_ROOT: href="/document.php?modulepart=" => href="/dolibarr/document.php?modulepart="
|
||||||
$content=preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(href=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
$content=preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(src=")(\/?document\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
|
|
||||||
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: href="/viewimage.php?modulepart=" => href="/dolibarr/viewimage.php?modulepart="
|
// Fix relative link /viewimage.php with correct URL after the DOL_URL_ROOT: href="/viewimage.php?modulepart=" => href="/dolibarr/viewimage.php?modulepart="
|
||||||
$content=preg_replace('/(href=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(href=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
$content=preg_replace('/(src=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(src=")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
$content=preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
$content = preg_replace('/(url\(")(\/?viewimage\.php\?[^\"]*modulepart=[^\"]*)(\")/', '\1!~!~!~'.DOL_URL_ROOT.'\2\3', $content, -1, $nbrep);
|
||||||
|
|
||||||
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
|
// Fix relative link into medias with correct URL after the DOL_URL_ROOT: ../url("medias/
|
||||||
$content=preg_replace('/url\((["\']?)medias\//', 'url(\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
$content = preg_replace('/url\((["\']?)medias\//', 'url(\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
$content=preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
$content = preg_replace('/data-slide-bg=(["\']?)medias\//', 'data-slide-bg=\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
|
|
||||||
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
// <img src="medias/image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
||||||
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
$content = preg_replace('/(<img[^>]*src=")(medias\/)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
// <img src="image.png... => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png...
|
||||||
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
$content = preg_replace('/(<img[^>]*src=")(?!(http|\/?viewimage|'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage))/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $content, -1, $nbrep);
|
||||||
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
|
// <img src="viewimage.php/modulepart=medias&file=image.png" => <img src="dolibarr/viewimage.php/modulepart=medias&file=image.png"
|
||||||
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
|
$content = preg_replace('/(<img[^>]*src=")(\/?viewimage\.php)/', '\1!~!~!~'.DOL_URL_ROOT.'/viewimage.php', $content, -1, $nbrep);
|
||||||
|
|
||||||
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
|
// action="newpage.php" => action="dolibarr/website/index.php?website=...&pageref=newpage
|
||||||
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
|
$content = preg_replace('/(action=")\/?([^:\"]*)(\.php\")/', '\1!~!~!~'.DOL_URL_ROOT.'/public/website/index.php?website='.$website->ref.'&pageref=\2"', $content, -1, $nbrep);
|
||||||
|
|
||||||
|
// Remove the protection tag !~!~!~
|
||||||
|
$content = str_replace('!~!~!~', '', $content);
|
||||||
}
|
}
|
||||||
else // REPLACEMENT OF LINKS When page called from virtual host
|
else // REPLACEMENT OF LINKS When page called from virtual host
|
||||||
{
|
{
|
||||||
|
|||||||
@ -78,7 +78,7 @@ AddWebsiteAccount=Create web site account
|
|||||||
BackToListOfThirdParty=Back to list for Third Party
|
BackToListOfThirdParty=Back to list for Third Party
|
||||||
DisableSiteFirst=Disable website first
|
DisableSiteFirst=Disable website first
|
||||||
MyContainerTitle=My web site title
|
MyContainerTitle=My web site title
|
||||||
AnotherContainer=Another container
|
AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists)
|
||||||
SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later...
|
SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later...
|
||||||
WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table
|
WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table
|
||||||
WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party
|
WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party
|
||||||
@ -111,3 +111,4 @@ SearchReplaceInto=Search | Replace into
|
|||||||
ReplaceString=New string
|
ReplaceString=New string
|
||||||
CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:<br><br>#mycssselector, input.myclass:hover { ... }<br>must be<br>.bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }<br><br>Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere.
|
CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:<br><br>#mycssselector, input.myclass:hover { ... }<br>must be<br>.bodywebsite #mycssselector, .bodywebsite input.myclass:hover { ... }<br><br>Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere.
|
||||||
LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page.
|
LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page.
|
||||||
|
Dynamiccontent=Sample of a page with dynamic content
|
||||||
@ -2923,7 +2923,7 @@ if ($action == 'editmeta' || $action == 'createcontainer')
|
|||||||
print '<tr><td class="titlefield fieldrequired">';
|
print '<tr><td class="titlefield fieldrequired">';
|
||||||
print $langs->trans('WEBSITE_PAGE_EXAMPLE');
|
print $langs->trans('WEBSITE_PAGE_EXAMPLE');
|
||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
print $formwebsite->selectSampleOfContainer('sample', (GETPOST('sample', 'alpha')?GETPOST('sample', 'alpha'):'corporatehomepage'));
|
print $formwebsite->selectSampleOfContainer('sample', (GETPOSTISSET('sample')?GETPOST('sample', 'alpha'):'empty'));
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +0,0 @@
|
|||||||
<div class="dolcontenteditable" contenteditable="true">
|
|
||||||
<div style="text-align: center"><h1>__[MAIN_INFO_SOCIETE_NOM]__</h1><br>
|
|
||||||
__(MyContainerTitle)__
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="dolcontenteditable" contenteditable="true">
|
|
||||||
<br>
|
|
||||||
<div style="text-align: center">__(AnotherContainer)__</div>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
<div class="dolcontenteditable" contenteditable="true">
|
|
||||||
<br>
|
|
||||||
<div style="text-align: center">__WEBSITE_CREATE_BY__</div>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
44
htdocs/website/samples/page-sample-dynamiccontent.html
Normal file
44
htdocs/website/samples/page-sample-dynamiccontent.html
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<!-- Enter here your HTML content. Add and if and tag contenteditable="true" if you want to use the inline editor for the content -->
|
||||||
|
<div id="div1" class="dolcontenteditable" style="text-align: center" contenteditable="true">
|
||||||
|
<br>
|
||||||
|
__(MyContainerTitle)__
|
||||||
|
<br><br>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="divmycompany" style="text-align: center" contenteditable="true">
|
||||||
|
This is example of dynamic content to get the name of your company (see source of page to see code):<br>
|
||||||
|
</div>
|
||||||
|
<h1 style="text-align: center" >
|
||||||
|
<?php echo $mysoc->name; ?>
|
||||||
|
<br>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="divmetadata" style="text-align: center" contenteditable="true">
|
||||||
|
This is another example of dynamic content to get meta data of a container/page (see source of page to see code):<br>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center">
|
||||||
|
__(Title)__ : <?php echo $websitepage->title; ?><br>
|
||||||
|
__(Description)__ : <?php echo $websitepage->description; ?><br>
|
||||||
|
__(Keywords)__ : <?php echo $websitepage->keywords; ?><br>
|
||||||
|
__(DateCreation)__ : <?php echo dol_print_date($websitepage->date_creation, 'dayhour', $weblangs); ?><br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="divinclude" style="text-align: center" contenteditable="true">
|
||||||
|
__(AnotherContainer)__
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center">
|
||||||
|
<?php includeContainer('alias_of_container_to_include'); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="div5" style="text-align: center" contenteditable="true">
|
||||||
|
<br><br>
|
||||||
|
__(YouCanEditHtmlSource)__
|
||||||
|
<br><br>
|
||||||
|
Page created by __WEBSITE_CREATE_BY__
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
@ -1,3 +1,3 @@
|
|||||||
<!-- At least 2 div required to avoid ckeditor to insert a p -->
|
<!-- Enter here your HTML content. Add and if and tag contenteditable="true" if you want to use the inline editor for the content -->
|
||||||
<div class="dolcontenteditable" contenteditable="true"><div>
|
<div id="myfirstdiv" contenteditable="true">
|
||||||
</div></div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user