11

Re : Hoathis_Pagination

Hey,
j'y suis presque, j'ai qu'un petit problème...
j'ai ce code:

        $this->_parameters = new Hoa_Framework_Parameter(
            $this,
            array(),
            array(
                // ...
                'attr.href'                => null,
        'attr.title'                    => 'Aller à la page %d',
        'attr.onclik'            => 'return confirm(\'Aller à la page %d ?\')',
                // ...
            )
        );

Et ensuite pour utiliser ces paramètres à plusieurs niveaux:

        $attr=$this->_parameters->unlinearizeBranche($this,'attr');
        print_r($attr);

et voilà le résultat:

Array
(
    [href] => http://localhost/Developpement/Hoa_Framework/Application/Public/Medias/Videos-%d.html
    [title] => Aller à la page %d
    [onclick] => return confirm'Aller à la page %d ?')
)

Ennuyeux non?
Bug ou pas?
Merci d'avance wink

12

Re : Hoathis_Pagination

Et si tu mets des anti-slashes devant les parenthèses ?

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

13

Re : Hoathis_Pagination

Pas mieux... hmm

Array
(
    [href] => http://localhost/Developpement/Hoa_Framework/Application/Public/Medias/Videos-%d.html
    [title] => Aller à la page %d
    [onclick] => return confirm\'Aller à la page %d ?'\)
)

C'est par ici que ça flanche: Parameter.php (ligne ~ 496)

            while($i >= 0) {

                $explode[$i] = str_replace('\\.', '.', $explode[$i]);
        print_r($value);
                if($i != $end)
                    $handle = array($explode[$i] => $handle);
                else
                    $handle = array($explode[$i] => self::zFormat(
                        $value,
                        $keywords,
                        $parameters
                    ));
        print_r($handle);
                $i--;
            }

Me donne comme résultat (après tri :-°):

return confirm\('Aller à la page %d ?'\)
Array
(
    [onclick] => return confirm\'Aller à la page %d ?'\)
)

ça doit être le zFormat qui fait des siennes... hmm

14

Re : Hoathis_Pagination

Oui j'avais deviné wink.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

15

Re : Hoathis_Pagination

C'est le premier preg_match:

        preg_match_all(
            '#([^\(]+)?(?:(?:\(:(.*?):\))|(?:\(:(.*?)\)))?#',
            $value,
            $matches,
            PREG_SET_ORDER
        );
        array_pop($matches);
    print_r($matches);

Résultat:

Array
(
    [0] => Array
        (
            [0] => return confirm\
            [1] => return confirm\
        )

    [1] => Array
        (
            [0] => 
        )

    [2] => Array
        (
            [0] => 'Aller à la page %d ?'\)
            [1] => 'Aller à la page %d ?'\)
        )

)

Si ça peut aider...

16

Re : Hoathis_Pagination

Hey,

Il me semble qu'il y a une histoire de double \\ ou //

'#([^\(]+)?(?:(?:\(:(.*?):\))|(?:\(:(.*?)//\)))?#'

un truc du genre

Dernière fois dit par tetardo (03 Feb. 2010 21:23)

Le code c'est comme le paic citron, quand il y en a plus... il y en a encore !

17

Re : Hoathis_Pagination

Je regarderai cette nuit, je n'ai pas le temps maintenant, désolé sad.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

18

Re : Hoathis_Pagination

Oué, j'ai beau essayer de comprendre, et de modifier cette regexp... hmm
Dans l'idéal il faudrait rajouter un truc genre:

|
    ([^\(]+)?
    (?:
        (?:
            [^\\]?\(:(.*?):\)      # où on indique que le caractère précédent (s'il y en a un) ne doit pas être un backslash
        )|
        (?:
            [^\\]\(:(.*?)[^\\]\)   # idem ici, pour la parenthèse ouvrante et fermante
        )
    )?
|

Mais bon ça marche pô hmm

Dernière fois dit par jojolapine (03 Feb. 2010 22:24)

19

Re : Hoathis_Pagination

Si tu veux t'amuser avec les caractères précédentes, regarde dans Hoa_Console_Core_Cli_Parser wink.

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

20

Re : Hoathis_Pagination

Ben m'amuser, j'en sais rien... c'est juste que j'aimerais que mon histoire fonctionne!
Qui plus est c'est pas vraiment une utilisation extraordinaire des paramètres, du coup ça serais cool que ça ne bug plus...
Le zFormat n'est aps encore au point hmm
Ou alors il faudrait prévoir une méthode zFormat_quote() ...