[Bug 2.7] Macros wiki (custom) cassées
by Damien HAZARD
Bonsoir les gens !
Après passage à la 2.7, je m’aperçois qu'une macro wiki que j'avais
développé (sous forme de plugin) ne fonctionne plus...
Au lieu que le code soit exécuté, le contenu apparaît dans un bloc
"<pre>"...
En creusant, c'est lié à la gestion des "editorFormater" : celui de
dcLegacyEditor est créé en passant le wiki2html du core, sauf que la
behavior "coreInitWikiPost" qui permet d'ajouter les macro est invoquée
plus tard... Et qu'à ce moment là, une nouvelle instance de wiki2html a été
créée...
Bref, il y a 2 instance de wiki2html, l'une dans laquelle on peut ajouter
des macro, mais qui n'est pas utilisée, et celle utilisée dans laquelle on
ne peut pas ajouter de macro...
Mais bon, je suis peut-être le seul à utiliser les macros ?
Damien
9 years, 2 months
Réunion IRC
by Franck Paul
Plop les gens,
Pas de réunion pour moi ce soir, il est plus que probable que je sois déjà
en train de dormir à l'heure où elle devrait commencer.
Donc rendez-vous demain soir si c'est possible pour vous et à condition que
je sois en état, sinon plus tard (a minima lundi prochain).
Quoi qu'il en soit je sors la 2.7.4 vendredi 13.
Au passage si quelqu'un (Bruno ?) peut regarder le dernier ticket de Juilen
(problème de mise à jour des paramètres du blog en étant admin et pas
super-admin), j'ai l'impression que c'est lié à la gestion des URLs d'admin
(c'est plus une intuition qu'autre chose pour l'instant).
--
Franck
9 years, 2 months
[Behat] Premiers tests
by Nicolas
Bonsoir à tous,
je viens de faire un commit qui met en place Behat via composer. Je n'ai
écrit que 4 scénarios mais qui ouvrent la portent à de nombreux autres.
Je vais essayer d'expliquer comment vous pouvez vous créer un environnement
de tests sans tout casser. Je veux bien mettre à jour une doc en ligne mais
je n'arrive pas à me connecter !
Les explications sont valables pour un système gnu/linux mais nul doute que
cela devrait fonctionner à de petites adaptations près avec d'autres
systèmes.
Dans le désordre :
1) la version de php doit être au minimum php 5.4.0 pour pouvoir utiliser
le serveur interne.
2) pour installer behat, il faut utiliser composer.
3) pour utiliser composer il faut l'installer !
Plutôt qu'une longue explication paraphrasée voici la doc officielle en
anglais : https://getcomposer.org/doc/00-intro.md
4) Ensuite il faut tapper :
$ composer install
Et pas composer update qui va mettre à jour les versions des différents
composants et vous n'aurez pas nécessairement les mêmes versions que les
copains/copines. En faisant install au lieu d'update composer utiliser le
fichier composer.lock qui contient les bonnes versions à utiliser !
5) la configuration de behat de base se trouve à la racine dans un fichier
behat.yml.dist. Il ne faut pas modifier ce fichier pour particulariser
certaines informations à votre environnement mais le copier en behat.yml
que vous pourrez modifier à votre guise. Le fichier behat.yml est
volontairement ignoré par mercurial.
6) installer un dotclear spécialement pour les tests. Placer dans votre
copie de travail (le répertoire où vous avez cloné dotclear) et taper la
commande suivante :
$ php -S localhost:1080 travis/router_sqlite.php -t .
Evidemment si vous voulez une base de tests mysql vous taperez la commande
en remplaçant sqlite par mysql. L'avantage de sqlite et qu'il n'y a rien
d'autre à faire.
En revanche pour mysql ou postgresql, il faudra modifier le
fichier travis/conf/config_mysql.php (travis/conf/config_pgsql.php), créer
las base de données et mettre les bonnes infos dans le fichier.
Ensuite, il faut installer doctlear en tapant la commande suivante :
$ php ./travis/install.php sqlite
Là aussi en remplaçant sqlite par mysql ou pgsql si vous avez opté pour une
autre base.
Si tout va bien la base a été remplie avec toutes les tables.
7) Vous pouvez lancer les tests en tapant :
$ ./bin/behat
Si quelqu'un a compris mon charabia et est arrivé au bout je lui tire mon
chapeau.
Si vous avez des questions, j'y répondrais avec plaisir.
A faire :
- ajouter plein d'autres tests
- écrire la doc
- mettre en place une interface web sympa pour ajouter des tests (si si ça
existe)
a+
Nicolas
9 years, 2 months
Licence
by brol
Bonjour,
Est-ce logique qu'un thème passe de GPL à CC - Paternité - Pas
d’utilisation commerciale ?
Je m'interroge à propos de GlossyBlue de Pixials. La licence de ce
thème dans les fichiers du thème dc2 est CC.
Mais celle sur le site de l'auteur original (thème pour WP) est GPL :
http://ndesign-studio.com/wp-themes/glossyblue
Dites ?
Merci
--
brol
9 years, 2 months
Patron de l'abc dotclear wanted !
by Kozlika
Hello gens,
Luce a trouvé une contributrice super sympa pour traduire l'abc en anglais.
Deux articles sont déjà prêts. Qui est le boss pour créer le blog anglais ?
--
Anne / Kozlika
9 years, 2 months
je pige pas ce que ça doit faire
by brol
Bonjour,
dans boston, j'ai tout un tas de code mais je ne vois pas ce que c'est
censé faire, quelqu'un peut me renseigner ?
merci
$core->tpl->addValue('MyEntriesCount',array('myTpl','MyEntriesCount'));
$core->tpl->addValue('MyCommentsCount',array('myTpl','MyCommentsCount'));
# Ajax search URL
$core->url->register('ajaxsearch','ajaxsearch','^ajaxsearch(?:(?:/)(.*))?$',array('urlsBokeh','ajaxsearch'));
class myTpl
{
/*
Cette fonction affiche le nombre de billets
*/
public static function MyEntriesCount($attr)
{
$tbl_billets = $GLOBALS['core']->blog->prefix."post";
$billets = $GLOBALS['core']->con->select("
SELECT count(post_id) as somme
FROM ".$tbl_billets." billets
WHERE post_status=1 AND
blog_id='lab'")->field("somme");
return '<?php echo '.$billets.'; ?>';
}
/*
Cette fonction affiche le nombre de commentaires
*/
public static function MyCommentsCount($attr)
{
global $core;
$tbl_billets = $GLOBALS['core']->blog->prefix."post";
$tbl_comments = $core->blog->prefix."comment";
$comments = $core->con->select("
SELECT count(comment_id) as somme
FROM ".$tbl_billets." billets, ".$tbl_comments." comments
WHERE comments.post_id = billets.post_id AND
billets.post_status=1 AND
comment_status=1 AND
comment_trackback=0 AND
blog_id='asiam'")->field("somme");
return '<?php echo '.$comments.'; ?>';
}
}
class urlsBokeh
{
public static function ajaxsearch($args)
{
global $core;
$res = '';
try
{
if (!$args) {
throw new Exception;
}
$q = rawurldecode($args);
$rs = $core->blog->getPosts(array(
'search' => $q,
'limit' => 5
));
if ($rs->isEmpty()) {
throw new Exception;
}
$res = '<ul>';
while ($rs->fetch())
{
$res .= '<li><a href="'.$rs->getURL().'">'.html::escapeHTML($rs->post_title).'</a></li>';
}
$res .= '</ul>';
}
catch (Exception $e) {}
header('Content-Type: text/plain; charset=UTF-8');
echo $res;
}
}
--
brol
9 years, 2 months
pour pas casser la compatibilité
by brol
Bonjour,
avec dc2.7 et le nouveau jeu de template, le code pour afficher les
widgets a changé :
$res =
($w->title ? $w->renderTitle(html::escapeHTML($w->title)) : '').
$calendar->draw();
return $w->renderDiv($w->content_only,'calendar '.$w->class,'',$res);
là c'est pour dayMode. en rendu html, ça donne ça pour la div :
<div class="widget calendar ">
<h2>Calendrier</h2><table summary="Calendrier"><caption><a href="http://lab.brol.info/archive/2014/12" title="décembre 2014">«</a> janvier 2015</caption><thead><tr><th scope="col"><abbr title="dimanche">dim.</abbr></th><th scope="col"><abbr title="lundi">lun.</abbr></th><th scope="col"><abbr title="mardi">mar.</abbr></th><th scope="col"><abbr title="mercredi">mer.</abbr></th><th scope="col"><abbr title="jeudi">jeu.</abbr></th><th scope="col"><abbr title="vendredi">ven.</abbr></th><th scope="col"><abbr title="samedi">sam.</abbr></th></tr></thead><tbody><tr><td> </td><td> </td><td> </td><td> </td><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr><tr><td>11</td><td>12</td><td><a href="http://lab.brol.info/archive/2015/01/13">13</a></td><td>14</td><td>15</td><td>16</td><td>17</td></tr><tr><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr><tr><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td><td>31</td></tr></tbody></table>
</div>
sauf que précédemment il s'agissait d'un id et non d'une classe...
question : comment ajouter l'id dans le code tout en haut ?
bon, c'est possible que j'ai rien pigé, ça serait pas la première
fois.
--
brol
9 years, 2 months
thème et define
by brol
Bonjour,
pour les plugins, dans le define, on a :
'type' => 'plugin',
'dc_min' => '2.7',
'support' => '',
'details' => ''
y a-t-il un équivalent pour les thèmes pour le dc_min ?
autre chose, comment afficher les liens de support et de détail ?
merci
--
brol
9 years, 2 months