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 @@ sendermail char(255) - + YES diff --git a/lib/vendor/Silex b/lib/vendor/Silex index ffe8f9fc49..95541210d0 160000 --- a/lib/vendor/Silex +++ b/lib/vendor/Silex @@ -1 +1 @@ -Subproject commit ffe8f9fc49b66b36b25bcb3d9ce5a07f0c3dbfc8 +Subproject commit 95541210d0a47c3edc46dd67f201ab5286b0dd7b diff --git a/templates/web/admin/editusers.twig b/templates/web/admin/editusers.twig index 4673464aaf..37cda2aed5 100644 --- a/templates/web/admin/editusers.twig +++ b/templates/web/admin/editusers.twig @@ -438,7 +438,7 @@ {% if main_user is not empty and main_user.is_template is empty and main_user.is_special is empty %} -
+
diff --git a/templates/web/common/preview.html b/templates/web/common/preview.html index 81b3ebbd78..6adfc8cfa9 100644 --- a/templates/web/common/preview.html +++ b/templates/web/common/preview.html @@ -1,7 +1,7 @@ {% import 'common/thumbnail.html' as thumbnail %} -{% if not_wrapped %} +{% if not_wrapped is defined and not_wrapped %} {% set wrap = false %} {% else %} {% set wrap = true %} diff --git a/templates/web/common/technical_datas.twig b/templates/web/common/technical_datas.twig index 42e4af1557..e0a049b1a6 100644 --- a/templates/web/common/technical_datas.twig +++ b/templates/web/common/technical_datas.twig @@ -2,18 +2,23 @@ {% if record.is_grouping() == false %} - {% if document.get_width() %} - {% trans 'Largeur' %} : - {{document.get_width()}} -
- {% endif %} + {% set document = record.get_subdef('document') %} + + {% if document %} + {% if document.get_width() %} + {% trans 'Largeur' %} : + {{document.get_width()}} +
+ {% endif %} - {% if document.get_height() %} - {% trans 'Hauteur' %} : - {{document.get_height()}} -
+ {% if document.get_height() %} + {% trans 'Hauteur' %} : + {{document.get_height()}} +
+ {% endif %} {% endif %} + {% if record.get_original_name() %} {% trans 'Nom Original' %} : {{record.get_original_name() }} @@ -26,22 +31,26 @@
{% endif %} - {% if document.get_size() %} - {% trans 'Taille' %} : - {{document.get_size()|formatoctet}} -
+ {% if document %} + {% if document.get_size() %} + {% trans 'Taille' %} : + {{document.get_size()|formatoctet}} +
+ {% endif %} {% endif %} - {% if record.get_type() == 'image' and document.get_width() and document.get_height() %} - {% trans 'Dimensions a l\'impression' %} -
- {% set size_w = (document.get_width() * (254/100) / 300) %} - {% set size_h = (document.get_height() * (254/100) / 300) %} - 300 dpi : {{size_w|round(1)}}x{{size_h|round(1)}} cm - {% set size_w = (document.get_width() * (254/100) / 72) %} - {% set size_h = (document.get_height() * (254/100) / 72) %} -
72 dpi : {{size_w|round(1)}}x{{size_h|round(1)}} cm + {% if document %} + {% if record.get_type() == 'image' and document.get_width() and document.get_height() %} + {% trans 'Dimensions a l\'impression' %} +
+ {% set size_w = (document.get_width() * (254/100) / 300) %} + {% set size_h = (document.get_height() * (254/100) / 300) %} + 300 dpi : {{size_w|round(1)}}x{{size_h|round(1)}} cm + {% set size_w = (document.get_width() * (254/100) / 72) %} + {% set size_h = (document.get_height() * (254/100) / 72) %} +
72 dpi : {{size_w|round(1)}}x{{size_h|round(1)}} cm + {% endif %} {% endif %} {% if record.get_type() == 'video' %} diff --git a/templates/web/prod/preview/caption.html b/templates/web/prod/preview/caption.html index 011271a70e..56b46ce4ab 100644 --- a/templates/web/prod/preview/caption.html +++ b/templates/web/prod/preview/caption.html @@ -3,7 +3,9 @@ {% if user.ACL().has_right_on_base(record.get_base_id, 'canmodifrecord') %}
- {% trans 'action : editer' %} + + {% trans 'action : editer' %} +
{% endif %}
diff --git a/templates/web/prod/preview/short_history.html b/templates/web/prod/preview/short_history.html index 5386068f8f..ca464a7342 100644 --- a/templates/web/prod/preview/short_history.html +++ b/templates/web/prod/preview/short_history.html @@ -55,7 +55,7 @@ {% endif %} {% if user.ACL().has_right_on_base(record.get_base_id(), 'canreport') %} - {% if done['user'].get_id() != session.get_usr_id() %} + {% if done['user'] and done['user'].get_id() != session.get_usr_id() %} {% set user_infos = done['user'].get_display_name() %} {% trans %}report:: par {{ user_infos }}{% endtrans %} {% endif %} diff --git a/www/client/clientFeedBack.php b/www/client/clientFeedBack.php index 6fd3297259..4cea120fa0 100644 --- a/www/client/clientFeedBack.php +++ b/www/client/clientFeedBack.php @@ -39,7 +39,7 @@ switch ($parm['action']) $output = module_client::getLanguage($lng); break; case 'PREVIEW': - + $core = \bootstrap::getCore(); $twig = $core->getTwig(); @@ -55,59 +55,59 @@ switch ($parm['action']) $train = ''; if ($record->is_from_reg()) - $train = $twig->render('prod/preview/reg_train.html', - array( - 'record' => $record, - 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview') - ) + { + $train = $twig->render('prod/preview/reg_train.html', array( + 'record' => $record, + 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview') + ) ); + } if ($record->is_from_basket() && $parm['roll']) - $train = $twig->render('prod/preview/basket_train.html', - array( - 'record' => $record, - 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview') - ) + { + $train = $twig->render('prod/preview/basket_train.html', array( + 'record' => $record, + 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview') + ) ); + } + if ($record->is_from_feed()) - $train = $twig->render('prod/preview/feed_train.html', - array( - 'record' => $record - ) + { + $train = $twig->render('prod/preview/feed_train.html', array( + 'record' => $record + ) ); + } - $output = p4string::jsonencode(array( - "desc" => $twig->render('prod/preview/caption.html', - array( + $output = p4string::jsonencode( + array( + "desc" => $twig->render('prod/preview/caption.html', array( 'record' => $record , 'highlight' => $parm['query'] , 'searchEngine' => $search_engine + ) ) - ) - , "html_preview" => $twig->render('common/preview.html', - array('record' => $record) - ) - , "others" => $twig->render('prod/preview/appears_in.html', - array( + , "html_preview" => $twig->render('common/preview.html', array('record' => $record) + ) + , "others" => $twig->render('prod/preview/appears_in.html', array( 'parents' => $record->get_grouping_parents(), 'baskets' => $record->get_container_baskets(), 'show_tooltips' => $registry->get('GV_rollover_reg_preview') + ) ) - ) - , "current" => $train - , "history" => $twig->render('prod/preview/short_history.html', - array('record' => $record) - ) - , "popularity" => $twig->render('prod/preview/popularity.html', - array('record' => $record) - ) - , "tools" => $twig->render('prod/preview/tools.html', - array('record' => $record) - ) - , "pos" => $record->get_number() - , "title" => $record->get_title($parm['query'], $search_engine) - )); + , "current" => $train + , "history" => $twig->render('prod/preview/short_history.html', array('record' => $record) + ) + , "popularity" => $twig->render('prod/preview/popularity.html', array('record' => $record) + ) + , "tools" => $twig->render('prod/preview/tools.html', array('record' => $record) + ) + , "pos" => $record->get_number() + , "title" => $record->get_title($parm['query'], $search_engine) + ) + ); break; case 'HOME': @@ -121,7 +121,7 @@ switch ($parm['action']) break; case 'BASKUPDATE': $noview = 0; - + $repository = $em->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */