JOMSOCIAL: ошибка в строке прогресса регистрации нового пользователя - PullRequest
0 голосов
/ 05 марта 2012

Во время выполнения пользовательского индикатора выполнения устанавливается на 150% на шаге 3 и на 134% на шаге 4. Вот код из progressbar.php:

<?php
class CProgressbarHelper{

    static public function getHTML( $max=100, $currval=0, $barclass='outerpgbar', $barfillclass='innerpgbar'){

        if(!is_numeric($max) || !is_numeric($currval) || $max < 0 || $currval < 0)
        return '<div>Progress bar cannot be generated properly</div>';

        $width = intval(($currval/$max) * 100) ;
        $barclass = (!empty($barclass))
                    ? 'class="'.$barclass.'"'
                    : 'style="background-color:white; height:.8em; border :1px solid #D0D0D0; margin-bottom:10px; padding:1px; "' ;

        $barfillclass = (!empty($barfillclass))
                    ? 'class="'.$barfillclass.'" style="width:'.$width.'%;"'
                    : 'style="width:'.$width.'%; height: 100%; background-color:blue; position:relative;"' ;

        //class progressbarfill : inside of the progress bar
        $html = '<div '.$barclass.' >'.
                    '<div '.$barfillclass.'></div>'.
                '</div>';

        return $html;
    }
}

Я также пытался ответить на такойпроблема в другом блоге, связанная с изменением строки 1055 /administrator/components/com_community/installer.helper.php с

$html .='<div class="outerpg"><div class="innerpgbar" style="width:'.$percentage.'%;"> '. $percentage .'%</div></div>';

на

$html .='<div class="outerpg"><div class="innerpgbar" style="width:'.($percentage/2).'%;"> '. $(percentage/2) .'%</div></div>';

Но она все еще не работает должным образом.На самом деле, он разрезал индикатор выполнения пополам на первой странице регистрации пользователя.

Я не могу показать изображение здесь ясно, но вы можете понять это, зарегистрировавшись в Jomsocial >> Demo.На самом деле, вы не увидите там ошибки.

1 Ответ

1 голос
/ 05 марта 2012

Код, вызвавший эту функцию, передал значение для $currval, которое превышает $max.Что-то вроде getHTML(100, 154) (в результате вы получите 154%).

Вы можете добавить следующую строку:

if ($currval > $max) $currval = $max;

(перед строкой $width = intval(($currval/$max) * 100);)

Таким образом, вы не будете иметь процент выше 100%.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...