diff --git a/lib/Alchemy/Phrasea/Helper/User/Edit.php b/lib/Alchemy/Phrasea/Helper/User/Edit.php
index 7da3ebe99a..19164e45b1 100644
--- a/lib/Alchemy/Phrasea/Helper/User/Edit.php
+++ b/lib/Alchemy/Phrasea/Helper/User/Edit.php
@@ -569,7 +569,7 @@ class Edit extends \Alchemy\Phrasea\Helper\Helper
$parm = $request->get_parms_from_serialized_datas($infos, 'user_infos');
- if (!\mail::validateEmail($parm['email']))
+ if ($parm['email'] && !\mail::validateEmail($parm['email']))
throw new \Exception_InvalidArgument(_('Email addess is not valid'));
$user->set_firstname($parm['first_name'])
@@ -589,7 +589,7 @@ class Edit extends \Alchemy\Phrasea\Helper\Helper
public function apply_template()
{
- $appbox = appbox::get_instance();
+ $appbox = \appbox::get_instance();
$session = $appbox->get_session();
$template = \User_adapter::getInstance($this->request->get('template'), $appbox);
diff --git a/lib/classes/record/adapter.class.php b/lib/classes/record/adapter.class.php
index 50f590a46e..27a4804f77 100644
--- a/lib/classes/record/adapter.class.php
+++ b/lib/classes/record/adapter.class.php
@@ -1145,8 +1145,11 @@ class record_adapter implements record_Interface, cache_cacheableInterface
try
{
+ $appbox = \appbox::get_instance();
+ $session = $appbox->get_session();
+
$connbas = connection::getPDOConnection($this->get_sbas_id());
-
+
$sql = 'DELETE FROM subdef WHERE record_id= :record_id AND name=:name';
$stmt = $connbas->prepare($sql);
$stmt->execute(
@@ -1165,7 +1168,6 @@ class record_adapter implements record_Interface, cache_cacheableInterface
(:record_id, :name, :baseurl, :filename,
:width, :height, :mime, :path, :filesize, "1")';
- echo "substitute subdef $name with $base_url ".$system_file->getPath()." ".$system_file->getFilename()."
";
$stmt = $connbas->prepare($sql);
$stmt->execute(array(
@@ -1183,11 +1185,10 @@ class record_adapter implements record_Interface, cache_cacheableInterface
$sql = 'UPDATE record SET moddate=NOW() WHERE record_id=:record_id';
$stmt = $connbas->prepare($sql);
$stmt->execute(array(':record_id' => $this->get_record_id()));
- $stmt->execute();
+ $stmt->closeCursor();
$this->delete_data_from_cache(self::CACHE_SUBDEFS);
-
if ($meta_writable)
{
$this->write_metas();
@@ -1199,15 +1200,14 @@ class record_adapter implements record_Interface, cache_cacheableInterface
$type = $name == 'document' ? 'HD' : $name;
- $session->get_logger($record->get_databox())
- ->log($record, Session_Logger::EVENT_SUBSTITUTE, $type, '');
+ $session->get_logger($this->get_databox())
+ ->log($this, Session_Logger::EVENT_SUBSTITUTE, $type, '');
}
catch (Exception $e)
{
unset($e);
}
-
return $this;
}
diff --git a/lib/classes/set/export.class.php b/lib/classes/set/export.class.php
index cb1f154b07..a6c82c158b 100644
--- a/lib/classes/set/export.class.php
+++ b/lib/classes/set/export.class.php
@@ -106,8 +106,6 @@ class set_export extends set_abstract
if ($record->is_grouping())
{
- $xml = $record->get_xml();
-
foreach ($record->get_children() as $child_basrec)
{
$base_id = $child_basrec->get_base_id();
diff --git a/lib/classes/task/period/ftp.class.php b/lib/classes/task/period/ftp.class.php
index c83c928277..ed092c21a7 100644
--- a/lib/classes/task/period/ftp.class.php
+++ b/lib/classes/task/period/ftp.class.php
@@ -563,6 +563,49 @@ class task_period_ftp extends task_appboxAbstract
}
}
+ if ($ftp_export['logfile'])
+ {
+ if($this->debug)
+ echo "\nlogfile \n";
+
+ $date = new DateTime();
+ $remote_file = $date->format('U');
+
+ $sql = 'SELECT filename, folder
+ FROM ftp_export_elements
+ WHERE ftp_export_id = :ftp_export_id
+ AND error = "0" AND done="1"';
+
+ $stmt = $conn->prepare($sql);
+ $stmt->execute(array(':ftp_export_id'=>$id));
+ $rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $buffer = '#transfert finished '.$date->format(DATE_ATOM)."\n\n";
+
+ foreach ($rs as $row)
+ {
+ $filename = $row['filename'];
+ $folder = $row['folder'];
+
+ $root = $ftp_export['foldertocreate'];
+
+ $buffer .= $root .'/'. $folder . $filename . "\n";
+ }
+
+ $tmpfile = $registry->get('GV_RootPath') . 'tmp/tmpftpbuffer'.$date->format('U').'.txt';
+
+ file_put_contents($tmpfile, $buffer);
+
+ $remotefile = $date->format('U').'-transfert.log';
+
+ $ftp_client->chdir($ftp_export["destfolder"]);
+
+ $ftp_client->put($remotefile, $tmpfile);
+
+ unlink($tmpfile);
+ }
+
$ftp_client->close();
unset($ftp_client);
}
@@ -723,6 +766,7 @@ class task_period_ftp extends task_appboxAbstract
_('task::ftp:Status about your FTP transfert from %1$s to %2$s')
, $registry->get('GV_homeTitle'), $ftp_server
);
+
mail::ftp_sent($sendermail, $subject, $sender_message);
mail::ftp_receive($mail, $receiver_message);
diff --git a/lib/conf.d/bases_structure.xml b/lib/conf.d/bases_structure.xml
index 56efc01fbc..99c1b2968a 100644
--- a/lib/conf.d/bases_structure.xml
+++ b/lib/conf.d/bases_structure.xml
@@ -2100,7 +2100,7 @@