]> git.agnieray.net Git - galette.git/commitdiff
Few fixes, missing escaping
authorJohan Cwiklinski <johan@x-tnd.be>
Tue, 12 Oct 2021 05:15:26 +0000 (07:15 +0200)
committerJohan Cwiklinski <johan@x-tnd.be>
Tue, 12 Oct 2021 05:56:08 +0000 (07:56 +0200)
Some changes required for PHP 8.1

12 files changed:
galette/lib/Galette/Controllers/Crud/GroupsController.php
galette/lib/Galette/Controllers/DynamicTranslationsController.php
galette/lib/Galette/Core/MailingHistory.php
galette/lib/Galette/Core/Preferences.php
galette/lib/Galette/Entity/Adherent.php
galette/lib/Galette/Entity/TranslatableTrait.php
galette/templates/default/gestion_mailings.tpl
galette/templates/default/mailing_adherents.tpl
galette/templates/default/preferences.tpl
galette/templates/default/traduire_libelles.tpl
galette/templates/default/voir_adherent.tpl
tests/Galette/Core/tests/units/CheckModules.php

index 4b178eedefbcc1051ecf2c1fa590d3e9dd605c92..96744c92851e29c8a1ec18b1721b430cfb240995 100644 (file)
@@ -165,9 +165,8 @@ class GroupsController extends CrudController
         }
 
         if ($id === null && count($groups_root) > 0) {
-            reset($groups);
             $group = current($groups_root);
-            if (!$this->login->isGroupManager($group->getId())) {
+            if (!$this->login->isGroupManager($id)) {
                 foreach ($groups_list as $g) {
                     if ($this->login->isGroupManager($g->getId())) {
                         $group = $g;
index fce424407584f2b52a2e0344eb6392562acde03b..b52ae4a64455e9f2c5b63bcdd118a33c5e91a07d 100644 (file)
@@ -104,7 +104,7 @@ class DynamicTranslationsController extends AbstractController
 
                 $orig = array();
                 foreach ($all_texts as $idx => $row) {
-                    $orig[] = $row->text_orig;
+                    $orig[] = $row->text_orig ?? '';
                 }
                 $exists = true;
                 if ($text_orig == '') {
index 3c40a0c88e5a89448b4e42b7999ffe6b85ca089c..d2d3dbafcd1d0f9aee021a5b3512f197d3d8161a 100644 (file)
@@ -112,7 +112,7 @@ class MailingHistory extends History
             $select->order($this->buildOrderClause());
             $this->buildLists($select);
             $this->proceedCount($select);
-            //add limits to retrieve only relavant rows
+            //add limits to retrieve only relevant rows
             $this->filters->setLimits($select);
             $results = $this->zdb->execute($select);
 
index efd61f1760981c187161925a97159180ba4acd60..f85acfe3b0b9507ec6752c5fc2369370aaeffa33 100644 (file)
@@ -70,7 +70,7 @@ use Galette\Repository\Members;
  * @property string $pref_lang Default instance language
  * @property integer $pref_numrows Default number of rows in lists
  * @property integer $pref_log History, one of self::LOG_*
- * @property interger $pref_statut Default status for new members
+ * @property integer $pref_statut Default status for new members
  * @property string $pref_email_nom
  * @property string $pref_email
  * @property string $pref_email_newadh
@@ -1063,6 +1063,38 @@ class Preferences
         return $uri;
     }
 
+    /**
+     * Get last telemetry date
+     *
+     * @return string
+     */
+    public function getTelemetryDate(): string
+    {
+        $rawdate = $this->prefs['pref_telemetry_date'];
+        if ($rawdate) {
+            $date = new \DateTime($rawdate);
+            return $date->format(_T('Y-m-d H:i:s'));
+        } else {
+            return _T('Never');
+        }
+    }
+
+    /**
+     * Get last telemetry date
+     *
+     * @return string|null
+     */
+    public function getRegistrationDate()
+    {
+        $rawdate = $this->prefs['pref_registration_date'];
+        if ($rawdate) {
+            $date = new \DateTime($rawdate);
+            return $date->format(_T('Y-m-d H:i:s'));
+        }
+
+        return null;
+    }
+
     /**
      * Check member cards sizes
      * Always a A4/portrait
index 5fdea7d05f7c1ec496309e2576c2d10ae0880703..55f0fd30c23eec39dad060d158f3bc5c02f7a25b 100644 (file)
@@ -657,7 +657,7 @@ class Adherent
      */
     public function isCompany()
     {
-        return trim($this->_company_name) != '';
+        return trim($this->_company_name ?? '') != '';
     }
 
     /**
@@ -876,8 +876,8 @@ class Adherent
             $str .= $title->tshort . ' ';
         }
 
-        $str .= mb_strtoupper($name, 'UTF-8') . ' ' .
-            ucwords(mb_strtolower($surname, 'UTF-8'), " \t\r\n\f\v-_|");
+        $str .= mb_strtoupper($name ?? '', 'UTF-8') . ' ' .
+            ucwords(mb_strtolower($surname ?? '', 'UTF-8'), " \t\r\n\f\v-_|");
 
         if ($id !== false || $nick !== false) {
             $str .= ' (';
@@ -1734,6 +1734,10 @@ class Adherent
                             return null;
                         }
                         break;
+                    case 'address':
+                    case 'address_continuation':
+                        return $this->$rname ?? '';
+                        break;
                     case 'birthdate':
                     case 'creation_date':
                     case 'modification_date':
index 3007a053915086195a4a3e0a553f2d0bb2504e53..ca342b4d752a41c0aaf435f453a47d10086100ca 100644 (file)
@@ -65,7 +65,9 @@ trait TranslatableTrait
      */
     public function getName($translated = true)
     {
-        if ($translated === true) {
+        if (empty($this->name)) {
+            return '';
+        } elseif ($translated === true) {
             return _T(strip_tags($this->name));
         } else {
             return strip_tags($this->name);
index 157d2810eb608ed43341fa6847f7004f21244f9b..74ac867ec8499ff900c119c1459443cde90ad521 100644 (file)
                             {_T string="Mailing entry %id" pattern="/%id/" replace=$log.mailing_id}
                         </span>
                     </td>
-                    <td class="nowrap" data-title="{_T string="Date"}">{$log.mailing_date|date_format:"%a %d/%m/%Y - %R"}</td>
+                    <td class="nowrap" data-title="{_T string="Date"}">{$log.mailing_date|date_format:{_T string="Y-m-d H:i:s"}}</td>
                     <td data-title="{_T string="Sender"}">{if $log.mailing_sender eq 0}{_T string="Superadmin"}{else}{$log.mailing_sender_name}{/if}</td>
                     <td data-title="{_T string="Recipients"}">{$log.mailing_recipients|unserialize|@count}</td>
                     <td data-title="{_T string="Subject"}">{$log.mailing_subject}</td>
index 878117fc9ee8e99dc7de65393157dc9ff6cb3899..d787c9a72248742c65b775d1d5508b6f2344c486 100644 (file)
@@ -86,7 +86,7 @@
                         <a href="javascript:activateMailingEditor('mailing_corps');" id="activate_editor">{_T string="Activate HTML editor"}</a>
                     </span>
                     <label for="mailing_corps" class="bline">{_T string="Message:"}</label>
-                    <textarea name="mailing_corps" id="mailing_corps" cols="80" rows="15" required>{$mailing->message|escape}</textarea>
+                    <textarea name="mailing_corps" id="mailing_corps" cols="80" rows="15" required>{if $mailing->message}{$mailing->message|escape}{/if}</textarea>
                     <input type="hidden" name="html_editor_active" id="html_editor_active" value="{if $html_editor_active}1{else}0{/if}"/>
                 </div>
                 <div class="center">
                         </button>
 
                         <input type="hidden" name="mailing_objet" value="{$mailing->subject}"/>
-                        <input type="hidden" name="mailing_corps" value="{$mailing->message|escape}"/>
+                        <input type="hidden" name="mailing_corps" value="{if $mailing->message}{$mailing->message|escape}{/if}"/>
                     </p>
                 </div>
         {/if}
index 15bd336036e295ebbee3b3e48774c321999975c4..cc4f22054d3d83e4ffc478ae604481f4af5f9f53 100644 (file)
                     <span class="bline tooltip">{_T string="Telemetry date:"}</span>
                     <span class="tip">{_T string="Last telemetry sent date."}</span>
                     <span>
-                        {if $pref.pref_telemetry_date}
-                            {$pref.pref_telemetry_date|date_format:"%a %d/%m/%Y - %R"}
-                        {else}
-                            {_T string="Never"}
-                        {/if}
-                        - <a href="#" id="telemetry" class="button"><i class="fas fa-chart-bar" aria-hidden="true"></i> {_T string="send"}</a>
+                        {$preferences->getTelemetryDate()}
+                        <a href="#" id="telemetry" class="button"><i class="fas fa-chart-bar" aria-hidden="true"></i> {_T string="send"}</a>
                     </span>
                 </div>
                 <div class="p">
                     <span>
                         {if $pref.pref_registration_date}
                             {assign var="regtxt" value={_T string="Update your information"}}
-                            {$pref.pref_registration_date|date_format:"%a %d/%m/%Y - %R"}
+                            {$preferences->getRegistrationDate()}
                         {else}
                             {assign var="regtxt" value={_T string="Register"}}
                             {_T string="Not registered"}
                         {/if}
-                        <a href="{$smarty.const.GALETTE_TELEMETRY_URI}reference?showmodal&uuid={$pref.pref_registration_uuid}" id="register" target="_blank" class="button"><i class="fas fa-marker"></i>{$regtxt}</a>
+                        <a href="{$smarty.const.GALETTE_TELEMETRY_URI}reference?showmodal&uuid={$pref.pref_registration_uuid}" id="register" target="_blank" class="button"><i class="fas fa-marker"></i>{$regtxt}</a>
                     </span>
                 </div>
 
index e170d03145131363b8f688eff7862b0b2bbc8f85..02833973e9871170761c493d940ec94267eeb933 100644 (file)
                 <form action="{path_for name="editDynamicTranslation"}" method="post" enctype="multipart/form-data">
     {if not $exists}
                 <p class="right">
-                    <span>{_T string="Original text: '%s'" pattern='/%s/' replace=$text_orig}</span>
+                    <span>{_T string="Original text: '%s'" pattern='/%s/' replace=$text_orig|escape}</span>
                     <input type="hidden" name="new" value="true"/>
                 </p>
     {/if}
                 <fieldset class="cssform">
-                    <legend class="ui-state-active ui-corner-top">{_T string="Translation of '%s' label" pattern="/%s/" replace=$text_orig}</legend>
+                    <legend class="ui-state-active ui-corner-top">{_T string="Translation of '%s' label" pattern="/%s/" replace=$text_orig|escape}</legend>
 {section name="lang" loop=$trans}
                     <p>
                         <label for="text_trans_{$trans[lang].key}" class="bline">{$trans[lang].name}</label>
-                        <input type="text" name="text_trans_{$trans[lang].key}" id="text_trans_{$trans[lang].key}" value="{$trans[lang].text|escape}"/>
-                        <input type=hidden name="text_orig" value="{$text_orig}"/>
+                        <input type="text" name="text_trans_{$trans[lang].key}" id="text_trans_{$trans[lang].key}" value="{if $trans[lang].text}{$trans[lang].text|escape}{/if}"/>
+                        <input type=hidden name="text_orig" value="{$text_orig|escape}"/>
                     </p>
 {/section}
                 </fieldset>
index 8aac22d23d49e85a36262e4cad3521cede7a2f0c..415a90f99484ac07255ba841d7f7435fb27c2627 100644 (file)
@@ -140,7 +140,13 @@ We have to use a template file, so Smarty will do its work (like replacing varia
             {continue}
         {/if}
         {assign var="propname" value=$element->propname}
-        {assign var="value" value=$member->$propname|escape}
+
+        {assign var="propvalue" value=$member->$propname}
+        {if $propvalue}
+            {assign var=value value=$propvalue|escape}
+        {else}
+            {assign var=value value=$propvalue}
+        {/if}
 
         {if $element->field_id eq 'nom_adh'}
             {assign var="value" value=$member->sfullname}
index d2b2c4f57842ab7625e8dbbb28bb158e694ed8ce..57b606c48aadd8dc8e99570f4c8ed463a0d3849c 100644 (file)
@@ -68,7 +68,7 @@ class CheckModules extends atoum
         $this->array($checks->getMissings())
             ->isEmpty();
         $this->array($checks->getShoulds())
-            ->isEmpty(2);
+            ->isEmpty();
         $this->boolean($checks->isGood('mbstring'))
             ->isTrue();
     }