Changeset 750

Show
Ignore:
Timestamp:
01/21/08 10:43:30 (11 months ago)
Author:
laurentj
Message:

fixed bug #435: problem with the cookie path in jAuth
added also a css class on submit buttons

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.0.x/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • branches/1.0.x/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • branches/1.0.x/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • branches/1.0.x/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • branches/1.0.x/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • branches/1.0.x/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • branches/1.0.x/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • branches/1.0.x/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • branches/1.0.x/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • branches/1.0.x/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html.php

    r748 r750  
    600600 
    601601        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    602         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    603  
    604         $ctrl->readonly = true; 
    605         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    606         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    607  
    608         $ctrl->hint='ceci est un tooltip'; 
    609         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    610         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" value="Votre nom"/>', $out); 
     602        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     603 
     604        $ctrl->readonly = true; 
     605        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     606        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     607 
     608        $ctrl->hint='ceci est un tooltip'; 
     609        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     610        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-submit" value="Votre nom"/>', $out); 
    611611 
    612612        $ctrl->standalone=false; 
     
    615615 
    616616        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    617         $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" value="Sauvegarde"/> '; 
    618         $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" value="Preview"/> '; 
     617        $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" class="jforms-submit" value="Sauvegarde"/> '; 
     618        $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" class="jforms-submit" value="Preview"/> '; 
    619619        $this->assertEqualOrDiff($output, $out); 
    620620    } 
     
    628628 
    629629        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    630         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    631  
    632         $ctrl->readonly = true; 
    633         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    634         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    635  
    636         $ctrl->hint='ceci est un tooltip'; 
    637         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    638         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip">Votre nom</button>', $out); 
     630        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     631 
     632        $ctrl->readonly = true; 
     633        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     634        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     635 
     636        $ctrl->hint='ceci est un tooltip'; 
     637        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     638        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-reset">Votre nom</button>', $out); 
    639639    } 
    640640 
  • branches/1.0.x/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html.php

    r748 r750  
    600600 
    601601        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    602         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    603  
    604         $ctrl->readonly = true; 
    605         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    606         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    607  
    608         $ctrl->hint='ceci est un tooltip'; 
    609         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    610         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" value="Votre nom"/>', $out); 
     602        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     603 
     604        $ctrl->readonly = true; 
     605        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     606        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     607 
     608        $ctrl->hint='ceci est un tooltip'; 
     609        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     610        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-submit" value="Votre nom"/>', $out); 
    611611 
    612612        $ctrl->standalone=false; 
     
    615615 
    616616        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    617         $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" value="Sauvegarde"/> '; 
    618         $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" value="Preview"/> '; 
     617        $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" class="jforms-submit" value="Sauvegarde"/> '; 
     618        $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" class="jforms-submit" value="Preview"/> '; 
    619619        $this->assertEqualOrDiff($output, $out); 
    620620    } 
     
    628628 
    629629        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    630         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    631  
    632         $ctrl->readonly = true; 
    633         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    634         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    635  
    636         $ctrl->hint='ceci est un tooltip'; 
    637         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    638         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip">Votre nom</button>', $out); 
     630        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     631 
     632        $ctrl->readonly = true; 
     633        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     634        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     635 
     636        $ctrl->hint='ceci est un tooltip'; 
     637        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     638        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-reset">Votre nom</button>', $out); 
    639639    } 
    640640 
  • branches/1.0.x/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html.php

    r748 r750  
    600600 
    601601        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    602         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    603  
    604         $ctrl->readonly = true; 
    605         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    606         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    607  
    608         $ctrl->hint='ceci est un tooltip'; 
    609         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    610         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" value="Votre nom"/>', $out); 
     602        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     603 
     604        $ctrl->readonly = true; 
     605        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     606        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     607 
     608        $ctrl->hint='ceci est un tooltip'; 
     609        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     610        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-submit" value="Votre nom"/>', $out); 
    611611 
    612612        $ctrl->standalone=false; 
     
    615615 
    616616        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    617         $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" value="Sauvegarde"/> '; 
    618         $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" value="Preview"/> '; 
     617        $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" class="jforms-submit" value="Sauvegarde"/> '; 
     618        $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" class="jforms-submit" value="Preview"/> '; 
    619619        $this->assertEqualOrDiff($output, $out); 
    620620    } 
     
    628628 
    629629        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    630         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    631  
    632         $ctrl->readonly = true; 
    633         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    634         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    635  
    636         $ctrl->hint='ceci est un tooltip'; 
    637         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    638         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip">Votre nom</button>', $out); 
     630        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     631 
     632        $ctrl->readonly = true; 
     633        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     634        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" class="jforms-reset">Votre nom</button>', $out); 
     635 
     636        $ctrl->hint='ceci est un tooltip'; 
     637        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     638        $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-reset">Votre nom</button>', $out); 
    639639    } 
    640640 
  • trunk/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • trunk/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • trunk/lib/jelix/auth/jAuth.class.php

    r705 r750  
    55* @author     Laurent Jouanneau 
    66* @contributor Frédéric Guillot, Antoine Detante, Julien Issler 
    7 * @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
     7* @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Frédéric Guillot, 2007 Antoine Detante 
    88* @copyright  2007 Julien Issler 
    99* 
     
    117117                $config['session_name'] = 'JELIX_USER'; 
    118118            } 
     119            if (!isset( $config['persistant_cookie_path'])  
     120                ||  $config['persistant_cookie_path'] == '') { 
     121                $config['persistant_cookie_path'] = $GLOBALS['gJConfig']->urlengine['basePath']; 
     122            } 
     123 
    119124        } 
    120125        return $config; 
     
    311316                $cookieDuration+=time(); 
    312317                $encryptedPassword=jCrypt::encrypt($password,$config['persistant_crypt_key']); 
    313                 setcookie($config['persistant_cookie_name'].'[login]',$login,$cookieDuration); 
    314                 setcookie($config['persistant_cookie_name'].'[passwd]',$encryptedPassword,$cookieDuration); 
     318                setcookie($config['persistant_cookie_name'].'[login]', $login, $cookieDuration, $config['persistant_cookie_path']); 
     319                setcookie($config['persistant_cookie_name'].'[passwd]', $encryptedPassword, $cookieDuration, $config['persistant_cookie_path']); 
    315320            } 
    316321            return true; 
     
    318323            return false; 
    319324    } 
    320      
     325 
    321326    /** 
    322327     * Check if persistant session is enabled in config 
     
    343348            if(!isset($config['persistant_cookie_name'])) 
    344349                throw new jException('jelix~auth.error.persistant.incorrectconfig','persistant_cookie_name, persistant_crypt_key'); 
    345             setcookie($config['persistant_cookie_name'].'[login]'); 
    346             setcookie($config['persistant_cookie_name'].'[passwd]'); 
     350            setcookie($config['persistant_cookie_name'].'[login]', '', time() - 3600, $config['persistant_cookie_path']); 
     351            setcookie($config['persistant_cookie_name'].'[passwd]', '', time() - 3600, $config['persistant_cookie_path']); 
    347352        } 
    348353    } 
  • trunk/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • trunk/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • trunk/lib/jelix/forms/jFormsBuilderBase.class.php

    r748 r750  
    313313        case 'submit': 
    314314            if($ctrl->standalone){ 
    315                 echo '<input type="submit"',$id,$hint,' value="',htmlspecialchars($ctrl->label),'"/>'; 
     315                echo '<input type="submit"',$id,$hint,' class="jforms-submit" value="',htmlspecialchars($ctrl->label),'"/>'; 
    316316            }else{ 
    317317                foreach($ctrl->datasource->getDatas() as $v=>$label){ 
    318318                    // because IE6 sucks with <button type=submit> (see ticket #431), we must use input :-( 
    319                     echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"',$hint,' value="',htmlspecialchars($label),'"/> '; 
     319                    echo '<input type="submit" name="',$ctrl->ref,'" id="',$this->_name,'_',$ctrl->ref,'_',htmlspecialchars($v),'"', 
     320                        $hint,' class="jforms-submit" value="',htmlspecialchars($label),'"/> '; 
    320321                } 
    321322            } 
    322323            break; 
    323324        case 'reset': 
    324             echo '<button type="reset"',$id,$hint,'>',htmlspecialchars($ctrl->label),'</button>'; 
     325            echo '<button type="reset"',$id,$hint,' class="jforms-reset">',htmlspecialchars($ctrl->label),'</button>'; 
    325326            break; 
    326327        } 
  • trunk/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • trunk/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • trunk/lib/jelix/plugins/coord/auth/auth.coord.ini.php.dist

    r717 r750  
    7171persistant_duration = 1 
    7272 
     73; base path for the cookie. If empty, it uses the basePath value from the main configuration. 
     74persistant_cookie_path = 
     75 
    7376;=========== Parameters for drivers 
    7477 
  • trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html.php

    r748 r750  
    600600 
    601601        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    602         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    603  
    604         $ctrl->readonly = true; 
    605         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    606         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" value="Votre nom"/>', $out); 
    607  
    608         $ctrl->hint='ceci est un tooltip'; 
    609         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    610         $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" value="Votre nom"/>', $out); 
     602        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     603 
     604        $ctrl->readonly = true; 
     605        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     606        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" class="jforms-submit" value="Votre nom"/>', $out); 
     607 
     608        $ctrl->hint='ceci est un tooltip'; 
     609        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
     610        $this->assertEqualOrDiff('<input type="submit" name="nom" id="'.$this->formname.'_nom" title="ceci est un tooltip" class="jforms-submit" value="Votre nom"/>', $out); 
    611611 
    612612        $ctrl->standalone=false; 
     
    615615 
    616616        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    617         $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" value="Sauvegarde"/> '; 
    618         $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" value="Preview"/> '; 
     617        $output = '<input type="submit" name="nom" id="'.$this->formname.'_nom_svg" title="ceci est un tooltip" class="jforms-submit" value="Sauvegarde"/> '; 
     618        $output .= '<input type="submit" name="nom" id="'.$this->formname.'_nom_prev" title="ceci est un tooltip" class="jforms-submit" value="Preview"/> '; 
    619619        $this->assertEqualOrDiff($output, $out); 
    620620    } 
     
    628628 
    629629        ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    630         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    631  
    632         $ctrl->readonly = true; 
    633         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 
    634         $this->assertEqualOrDiff('<button type="reset" name="nom" id="'.$this->formname.'_nom">Votre nom</button>', $out); 
    635  
    636         $ctrl->hint='ceci est un tooltip'; 
    637         ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean();