Merge branch 'develop' into keep_child_label_if_modified

This commit is contained in:
Laurent Destailleur 2020-05-23 13:51:13 +02:00 committed by GitHub
commit a9b5feb680
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 129 additions and 54 deletions

View File

@ -3,7 +3,7 @@ FROM php:7.2-apache
ENV HOST_USER_ID 33 ENV HOST_USER_ID 33
ENV PHP_INI_DATE_TIMEZONE 'UTC' ENV PHP_INI_DATE_TIMEZONE 'UTC'
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libldap2-dev libzip-dev zlib1g-dev libicu-dev g++\ RUN apt-get update && apt-get install -y libpng16-16 libpng-dev libjpeg62-turbo libjpeg62-turbo-dev libldap2-dev zlib1g-dev libicu-dev g++\
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
&& docker-php-ext-install gd \ && docker-php-ext-install gd \
@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libldap2-dev lib
&& docker-php-ext-install calendar \ && docker-php-ext-install calendar \
&& docker-php-ext-configure intl \ && docker-php-ext-configure intl \
&& docker-php-ext-install intl \ && docker-php-ext-install intl \
&& apt-get autoremove --purge -y libjpeg-dev libldap2-dev zlib1g-dev libicu-dev g++ && apt-get autoremove --purge -y libpng-dev libjpeg62-turbo-dev libldap2-dev zlib1g-dev libicu-dev g++
RUN mkdir /var/documents RUN mkdir /var/documents
RUN chown www-data /var/documents RUN chown www-data /var/documents

View File

@ -21,5 +21,12 @@ web:
- ../../htdocs:/var/www/html - ../../htdocs:/var/www/html
links: links:
- mariadb - mariadb
- mail
ports: ports:
- "80:80" - "80:80"
mail:
image: maildev/maildev
ports:
- "8081:80"
- "25:25"

View File

@ -523,7 +523,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$keyforbreak = 'duration'; $keyforbreak = 'duration';
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php'; include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
print '<tr><td>'.$langs->trans("TotalCost").'</td><td>'.price($object->total_cost).'</td></tr>'; print '<tr><td>'.$form->textwithpicto($langs->trans("TotalCost"), $langs->trans("BOMTotalCost")).'</td><td>'.price($object->total_cost).'</td></tr>';
print '<tr><td>'.$langs->trans("UnitCost").'</td><td>'.price($object->unit_cost).'</td></tr>'; print '<tr><td>'.$langs->trans("UnitCost").'</td><td>'.price($object->unit_cost).'</td></tr>';
// Other attributes // Other attributes

View File

@ -1013,11 +1013,20 @@ class BOM extends CommonObject
$this->unit_cost = 0; $this->unit_cost = 0;
$this->total_cost = 0; $this->total_cost = 0;
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
$productFournisseur = new ProductFournisseur($this->db);
foreach ($this->lines as &$line) { foreach ($this->lines as &$line) {
$tmpproduct = new Product($this->db); $tmpproduct = new Product($this->db);
$tmpproduct->fetch($line->fk_product); $tmpproduct->fetch($line->fk_product);
$line->unit_cost = price2num((!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp);
if (empty($line->unit_cost)) {
if ($productFournisseur->find_min_price_product_fournisseur($line->fk_product) > 0)
{
$line->unit_cost = $productFournisseur->fourn_unitprice;
}
}
$line->unit_cost = (!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp; // TODO : add option to work with cost_price or pmp
$line->total_cost = price2num($line->qty * $line->unit_cost, 'MT'); $line->total_cost = price2num($line->qty * $line->unit_cost, 'MT');
$this->total_cost += $line->total_cost; $this->total_cost += $line->total_cost;
} }

View File

@ -2907,6 +2907,18 @@ if ($action == 'create')
if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code; if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code;
} }
// when payment condition is empty (means not override by payment condition form a other object, like third-party), try to use default value
if(empty($cond_reglement_id))
{
$cond_reglement_id = GETPOST("cond_reglement_id");
}
// when payment mode is empty (means not override by payment mode form a other object, like third-party), try to use default value
if(empty($mode_reglement_id))
{
$mode_reglement_id = GETPOST("mode_reglement_id");
}
if (!empty($soc->id)) $absolute_discount = $soc->getAvailableDiscounts(); if (!empty($soc->id)) $absolute_discount = $soc->getAvailableDiscounts();
$note_public = $object->getDefaultCreateValueFor('note_public', ((!empty($origin) && !empty($originid) && is_object($objectsrc) && !empty($conf->global->FACTURE_REUSE_NOTES_ON_CREATE_FROM)) ? $objectsrc->note_public : null)); $note_public = $object->getDefaultCreateValueFor('note_public', ((!empty($origin) && !empty($originid) && is_object($objectsrc) && !empty($conf->global->FACTURE_REUSE_NOTES_ON_CREATE_FROM)) ? $objectsrc->note_public : null));
$note_private = $object->getDefaultCreateValueFor('note_private', ((!empty($origin) && !empty($originid) && is_object($objectsrc) && !empty($conf->global->FACTURE_REUSE_NOTES_ON_CREATE_FROM)) ? $objectsrc->note_private : null)); $note_private = $object->getDefaultCreateValueFor('note_private', ((!empty($origin) && !empty($originid) && is_object($objectsrc) && !empty($conf->global->FACTURE_REUSE_NOTES_ON_CREATE_FROM)) ? $objectsrc->note_private : null));

View File

@ -358,7 +358,6 @@ if (strlen($search_fax)) $sql .= natural_search('p.fax', $search_fax)
if (!empty($conf->socialnetworks->enabled)) { if (!empty($conf->socialnetworks->enabled)) {
foreach ($socialnetworks as $key => $value) { foreach ($socialnetworks as $key => $value) {
if ($value['active'] && strlen($search_{$key})) { if ($value['active'] && strlen($search_{$key})) {
//$sql.= natural_search("p.socialnetworks->'$.".$key."'", $search_{$key});
$sql .= ' AND p.socialnetworks LIKE \'%"'.$key.'":"'.$search_{$key}.'%\''; $sql .= ' AND p.socialnetworks LIKE \'%"'.$key.'":"'.$search_{$key}.'%\'';
} }
} }

View File

@ -43,7 +43,7 @@ $number = strlen($letters);
$string = ''; $string = '';
for ($i = 0; $i < $length; $i++) for ($i = 0; $i < $length; $i++)
{ {
$string .= $letters{mt_rand(0, $number - 1)}; $string .= $letters[mt_rand(0, $number - 1)];
} }
//print $string; //print $string;

View File

@ -1966,7 +1966,7 @@ class Lessc {
$this->pushEnv(); $this->pushEnv();
$parser = new lessc_parser($this, __METHOD__); $parser = new lessc_parser($this, __METHOD__);
foreach ($args as $name => $strValue) { foreach ($args as $name => $strValue) {
if ($name{0} !== '@') { if ($name[0] !== '@') {
$name = '@'.$name; $name = '@'.$name;
} }
$parser->count = 0; $parser->count = 0;
@ -2638,7 +2638,7 @@ class lessc_parser {
$hidden = true; $hidden = true;
if (!isset($block->args)) { if (!isset($block->args)) {
foreach ($block->tags as $tag) { foreach ($block->tags as $tag) {
if (!is_string($tag) || $tag{0} != $this->lessc->mPrefix) { if (!is_string($tag) || $tag[0] != $this->lessc->mPrefix) {
$hidden = false; $hidden = false;
break; break;
} }
@ -2692,7 +2692,7 @@ class lessc_parser {
protected function fixTags($tags) { protected function fixTags($tags) {
// move @ tags out of variable namespace // move @ tags out of variable namespace
foreach ($tags as &$tag) { foreach ($tags as &$tag) {
if ($tag{0} == $this->lessc->vPrefix) if ($tag[0] == $this->lessc->vPrefix)
$tag[0] = $this->lessc->mPrefix; $tag[0] = $this->lessc->mPrefix;
} }
return $tags; return $tags;

View File

@ -463,15 +463,15 @@ function getRandomPassword($generic = false, $replaceambiguouschars = null, $len
{ {
$max = strlen($lowercase) - 1; $max = strlen($lowercase) - 1;
for ($x = 0; $x < $nbofchar; $x++) { for ($x = 0; $x < $nbofchar; $x++) {
$randomCode .= $lowercase{random_int(0, $max)}; $randomCode .= $lowercase[random_int(0, $max)];
} }
$max = strlen($uppercase) - 1; $max = strlen($uppercase) - 1;
for ($x = 0; $x < $nbofchar; $x++) { for ($x = 0; $x < $nbofchar; $x++) {
$randomCode .= $uppercase{random_int(0, $max)}; $randomCode .= $uppercase[random_int(0, $max)];
} }
$max = strlen($numbers) - 1; $max = strlen($numbers) - 1;
for ($x = 0; $x < $nbofcharlast; $x++) { for ($x = 0; $x < $nbofcharlast; $x++) {
$randomCode .= $numbers{random_int(0, $max)}; $randomCode .= $numbers[random_int(0, $max)];
} }
$generated_password = str_shuffle($randomCode); $generated_password = str_shuffle($randomCode);
@ -480,15 +480,15 @@ function getRandomPassword($generic = false, $replaceambiguouschars = null, $len
{ {
$max = strlen($lowercase) - 1; $max = strlen($lowercase) - 1;
for ($x = 0; $x < $nbofchar; $x++) { for ($x = 0; $x < $nbofchar; $x++) {
$randomCode .= $lowercase{mt_rand(0, $max)}; $randomCode .= $lowercase[mt_rand(0, $max)];
} }
$max = strlen($uppercase) - 1; $max = strlen($uppercase) - 1;
for ($x = 0; $x < $nbofchar; $x++) { for ($x = 0; $x < $nbofchar; $x++) {
$randomCode .= $uppercase{mt_rand(0, $max)}; $randomCode .= $uppercase[mt_rand(0, $max)];
} }
$max = strlen($numbers) - 1; $max = strlen($numbers) - 1;
for ($x = 0; $x < $nbofcharlast; $x++) { for ($x = 0; $x < $nbofcharlast; $x++) {
$randomCode .= $numbers{mt_rand(0, $max)}; $randomCode .= $numbers[mt_rand(0, $max)];
} }
$generated_password = str_shuffle($randomCode); $generated_password = str_shuffle($randomCode);
@ -512,11 +512,11 @@ function getRandomPassword($generic = false, $replaceambiguouschars = null, $len
$max = strlen($numbers) - 1; $max = strlen($numbers) - 1;
if (function_exists('random_int')) // Cryptographic random if (function_exists('random_int')) // Cryptographic random
{ {
$generated_password = str_replace($replaceambiguouschars, $numbers{random_int(0, $max)}, $generated_password); $generated_password = str_replace($replaceambiguouschars, $numbers[random_int(0, $max)], $generated_password);
} }
else else
{ {
$generated_password = str_replace($replaceambiguouschars, $numbers{mt_rand(0, $max)}, $generated_password); $generated_password = str_replace($replaceambiguouschars, $numbers[mt_rand(0, $max)], $generated_password);
} }
} }

View File

@ -229,11 +229,11 @@ function dolSavePageContent($filetpl, Website $object, WebsitePage $objectpage)
/** /**
* Save content of the index.php and wrapper.php page * Save content of the index.php and/or wrapper.php page
* *
* @param string $pathofwebsite Path of website root * @param string $pathofwebsite Path of website root
* @param string $fileindex Full path of file index.php * @param string $fileindex Full path of file index.php
* @param string $filetpl File tpl to index.php page redirect to * @param string $filetpl File tpl the index.php page redirect to
* @param string $filewrapper Full path of file wrapper.php * @param string $filewrapper Full path of file wrapper.php
* @return boolean True if OK * @return boolean True if OK
*/ */
@ -246,29 +246,39 @@ function dolSaveIndexPage($pathofwebsite, $fileindex, $filetpl, $filewrapper)
dol_mkdir($pathofwebsite); dol_mkdir($pathofwebsite);
dol_delete_file($fileindex); if ($fileindex) {
$indexcontent = '<?php'."\n"; dol_delete_file($fileindex);
$indexcontent .= "// BEGIN PHP File generated to provide an index.php as Home Page or alias redirector - DO NOT MODIFY - It is just a generated wrapper.\n"; $indexcontent = '<?php'."\n";
$indexcontent .= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n"; $indexcontent .= "// BEGIN PHP File generated to provide an index.php as Home Page or alias redirector - DO NOT MODIFY - It is just a generated wrapper.\n";
$indexcontent .= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Load master if not already loaded\n"; $indexcontent .= '$websitekey=basename(__DIR__); if (empty($websitepagefile)) $websitepagefile=__FILE__;'."\n";
$indexcontent .= 'if (! empty($_GET[\'pageref\']) || ! empty($_GET[\'pagealiasalt\']) || ! empty($_GET[\'pageid\'])) {'."\n"; $indexcontent .= "if (! defined('USEDOLIBARRSERVER') && ! defined('USEDOLIBARREDITOR')) { require_once './master.inc.php'; } // Load master if not already loaded\n";
$indexcontent .= " require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n"; $indexcontent .= 'if (! empty($_GET[\'pageref\']) || ! empty($_GET[\'pagealiasalt\']) || ! empty($_GET[\'pageid\'])) {'."\n";
$indexcontent .= " require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n"; $indexcontent .= " require_once DOL_DOCUMENT_ROOT.'/core/lib/website.lib.php';\n";
$indexcontent .= ' redirectToContainer($_GET[\'pageref\'], $_GET[\'pagealiasalt\'], $_GET[\'pageid\']);'."\n"; $indexcontent .= " require_once DOL_DOCUMENT_ROOT.'/core/website.inc.php';\n";
$indexcontent .= "}\n"; $indexcontent .= ' redirectToContainer($_GET[\'pageref\'], $_GET[\'pagealiasalt\'], $_GET[\'pageid\']);'."\n";
$indexcontent .= "include_once './".basename($filetpl)."'\n"; $indexcontent .= "}\n";
$indexcontent .= '// END PHP ?>'."\n"; $indexcontent .= "include_once './".basename($filetpl)."'\n";
$result1 = file_put_contents($fileindex, $indexcontent); $indexcontent .= '// END PHP ?>'."\n";
if (!empty($conf->global->MAIN_UMASK)) {
@chmod($fileindex, octdec($conf->global->MAIN_UMASK)); $result1 = file_put_contents($fileindex, $indexcontent);
if (!empty($conf->global->MAIN_UMASK)) {
@chmod($fileindex, octdec($conf->global->MAIN_UMASK));
}
}
else {
$result1 = true;
} }
dol_delete_file($filewrapper);
$wrappercontent = file_get_contents(DOL_DOCUMENT_ROOT.'/website/samples/wrapper.php'); if ($filewrapper) {
dol_delete_file($filewrapper);
$wrappercontent = file_get_contents(DOL_DOCUMENT_ROOT.'/website/samples/wrapper.php');
$result2 = file_put_contents($filewrapper, $wrappercontent); $result2 = file_put_contents($filewrapper, $wrappercontent);
if (!empty($conf->global->MAIN_UMASK)) { if (!empty($conf->global->MAIN_UMASK)) {
@chmod($filewrapper, octdec($conf->global->MAIN_UMASK)); @chmod($filewrapper, octdec($conf->global->MAIN_UMASK));
}
} else {
$result2 = true;
} }
return ($result1 && $result2); return ($result1 && $result2);

View File

@ -334,9 +334,10 @@ function build_calfile($format, $title, $desc, $events_array, $outputfile)
* @param string $outputfile Output file * @param string $outputfile Output file
* @param string $filter (optional) Filter * @param string $filter (optional) Filter
* @param string $url Url (If empty, forge URL for agenda RSS export) * @param string $url Url (If empty, forge URL for agenda RSS export)
* @param string $langcode Language code to show in header
* @return int < 0 if ko, Nb of events in file if ok * @return int < 0 if ko, Nb of events in file if ok
*/ */
function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filter = '', $url = '') function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filter = '', $url = '', $langcode = '')
{ {
global $user, $conf, $langs; global $user, $conf, $langs;
global $dolibarr_main_url_root; global $dolibarr_main_url_root;
@ -362,7 +363,9 @@ function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filt
fwrite($fichier, '<rss version="2.0">'); fwrite($fichier, '<rss version="2.0">');
fwrite($fichier, "\n"); fwrite($fichier, "\n");
fwrite($fichier, "<channel>\n<title>".$title."</title>\n"); fwrite($fichier, "<channel>\n");
fwrite($fichier, "<title>".$title."</title>\n");
if ($langcode) fwrite($fichier, "<language>".$langcode."</language>\n");
/* /*
fwrite($fichier, "<description><![CDATA[".$desc.".]]></description>"."\n". fwrite($fichier, "<description><![CDATA[".$desc.".]]></description>"."\n".

View File

@ -1780,6 +1780,18 @@ if ($action == 'create')
if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code; if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code;
} }
// when payment condition is empty (means not override by payment condition form a other object, like third-party), try to use default value
if(empty($cond_reglement_id))
{
$cond_reglement_id = GETPOST("cond_reglement_id");
}
// when payment mode is empty (means not override by payment condition form a other object, like third-party), try to use default value
if(empty($mode_reglement_id))
{
$mode_reglement_id = GETPOST("mode_reglement_id");
}
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">'; print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.newToken().'">'; print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="add">'; print '<input type="hidden" name="action" value="add">';

View File

@ -74,3 +74,4 @@ ProductsToConsume=Products to consume
ProductsToProduce=Products to produce ProductsToProduce=Products to produce
UnitCost=Unit cost UnitCost=Unit cost
TotalCost=Total cost TotalCost=Total cost
BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price)

View File

@ -127,4 +127,6 @@ OtherLanguages=Other languages
UseManifest=Provide a manifest.json file UseManifest=Provide a manifest.json file
PublicAuthorAlias=Public author alias PublicAuthorAlias=Public author alias
AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties
ReplacementDoneInXPages=Replacement done in %s pages or containers ReplacementDoneInXPages=Replacement done in %s pages or containers
RSSFeed=RSS Feed
RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL

View File

@ -326,16 +326,20 @@ class ProductCombination
$child = new Product($this->db); $child = new Product($this->db);
$child->fetch($this->fk_product_child); $child->fetch($this->fk_product_child);
$child->price_autogen = $parent->price_autogen;
$child->weight = $parent->weight + $this->variation_weight; $child->price_autogen = $parent->price_autogen;
$child->weight_units = $parent->weight_units; $child->weight = $parent->weight;
if ($this->variation_weight) { // If we must add a delta on weight
$child->weight = ($child->weight ? $child->weight : 0) + $this->variation_weight;
}
$child->weight_units = $parent->weight_units;
// Don't update the child label if the user modified it. // Don't update the child label if the user has already modified it.
if ($child->label == $parent->label) { if ($child->label == $parent->label) {
// This will trigger only at variant creation time // This will trigger only at variant creation time
$varlabel = $this->getCombinationLabel($this->fk_product_child); $varlabel = $this->getCombinationLabel($this->fk_product_child);
$child->label = $parent->label.$varlabel;; $child->label = $parent->label.$varlabel;;
} }
if ($child->update($child->id, $user) > 0) { if ($child->update($child->id, $user) > 0) {
$new_vat = $parent->tva_tx; $new_vat = $parent->tva_tx;

View File

@ -197,6 +197,7 @@ $fileindex = $pathofwebsite.'/index.php';
$filewrapper = $pathofwebsite.'/wrapper.php'; $filewrapper = $pathofwebsite.'/wrapper.php';
$filemanifestjson = $pathofwebsite.'/manifest.json.php'; $filemanifestjson = $pathofwebsite.'/manifest.json.php';
$filereadme = $pathofwebsite.'/README.md'; $filereadme = $pathofwebsite.'/README.md';
$filemaster = $pathofwebsite.'/master.inc.php';
// Define $urlwithroot // Define $urlwithroot
$urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
@ -1189,8 +1190,6 @@ if ($action == 'updatecss')
if (!$error) if (!$error)
{ {
// Save master.inc.php file // Save master.inc.php file
$filemaster = $pathofwebsite.'/master.inc.php';
dol_syslog("Save master file ".$filemaster); dol_syslog("Save master file ".$filemaster);
dol_mkdir($pathofwebsite); dol_mkdir($pathofwebsite);
@ -1384,6 +1383,10 @@ if ($action == 'updatecss')
} }
// Save wrapper.php
$result = dolSaveIndexPage($pathofwebsite, '', '', $filewrapper);
// Message if no error // Message if no error
if (!$error) if (!$error)
{ {
@ -1727,8 +1730,8 @@ if (($action == 'updatesource' || $action == 'updatecontent' || $action == 'conf
} }
else else
{ {
$fileindex = $pathofwebsitenew.'/index.php';
$filetpl = $pathofwebsitenew.'/page'.$resultpage->id.'.tpl.php'; $filetpl = $pathofwebsitenew.'/page'.$resultpage->id.'.tpl.php';
$fileindex = $pathofwebsitenew.'/index.php';
$filewrapper = $pathofwebsitenew.'/wrapper.php'; $filewrapper = $pathofwebsitenew.'/wrapper.php';
//var_dump($pathofwebsitenew); //var_dump($pathofwebsitenew);
@ -2978,6 +2981,14 @@ if ($action == 'editcss')
print '</td></tr>'; print '</td></tr>';
// RSS
print '<tr><td class="tdtop">';
$htmlhelp = $langs->trans('RSSFeedDesc');
print $form->textwithpicto($langs->trans('RSSFeed'), $htmlhelp, 1, 'help', '', 0, 2, '');
print '</td><td>';
print '/wrapper.php?rss=1[&l=XX][&limit=123]';
print '</td></tr>';
print '</table>'; print '</table>';
dol_fiche_end(); dol_fiche_end();

View File

@ -12,6 +12,8 @@ $hashp = GETPOST('hashp', 'aZ09');
$modulepart = GETPOST('modulepart', 'aZ09'); $modulepart = GETPOST('modulepart', 'aZ09');
$entity = GETPOST('entity', 'int') ?GETPOST('entity', 'int') : $conf->entity; $entity = GETPOST('entity', 'int') ?GETPOST('entity', 'int') : $conf->entity;
$original_file = GETPOST("file", "alpha"); $original_file = GETPOST("file", "alpha");
$l = GETPOST('l', 'aZ09');
$limit = GETPOST('limit', 'int');
// Parameters for RSS // Parameters for RSS
$rss = GETPOST('rss', 'aZ09'); $rss = GETPOST('rss', 'aZ09');
@ -90,8 +92,8 @@ if ($rss) {
$type = ''; $type = '';
$cachedelay = 0; $cachedelay = 0;
$filename = $original_file; $filename = $original_file;
$filters = array('type_container'=>'blogpost', 'lang'=>'en_US');
$dir_temp = $conf->website->dir_temp; $dir_temp = $conf->website->dir_temp;
include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php'; include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php';
include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php';
$website = new Website($db); $website = new Website($db);
@ -99,7 +101,10 @@ if ($rss) {
$website->fetch('', $websitekey); $website->fetch('', $websitekey);
$MAXNEWS = 20; $filters = array('type_container'=>'blogpost');
if ($l) $filters['lang'] = $l;
$MAXNEWS = ($limit ? $limit : 20);
$arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters); $arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters);
$eventarray = array(); $eventarray = array();
if (is_array($arrayofblogs)) { if (is_array($arrayofblogs)) {
@ -151,7 +156,7 @@ if ($rss) {
@chmod($outputfiletmp, octdec($conf->global->MAIN_UMASK)); @chmod($outputfiletmp, octdec($conf->global->MAIN_UMASK));
// Write file // Write file
$result = build_rssfile($format, $title, $desc, $eventarray, $outputfiletmp, '', $website->virtualhost.'/wrapper.php?rss=1'); $result = build_rssfile($format, $title, $desc, $eventarray, $outputfiletmp, '', $website->virtualhost.'/wrapper.php?rss=1'.($l ? '&l='.$l : ''), $l);
if ($result >= 0) if ($result >= 0)
{ {