Форумы / National / Russian / Тех. поддержка / переезд с PHP 5.4  на PHP 8.1 и Cotonti 0.9.21

Kabak
#45776 29.12.2022 09:09

благодарю

Добавлено 4 секунды спустя:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
     * Assigns a template variable or an array of them
     *
     * @param mixed $name Variable name or array of values
     * @param mixed $val Tag value if $name is not an array
     * @param string $prefix An optional prefix for variable keys
     * @return XTemplate $this object for call chaining
     */
    public function assign($name, $val = NULL, $prefix = '')
    {
        if (is_array($name))
        {
            foreach ($name as $key => $val)
            {
                $this->vars[$prefix.$key] = $val;
            }
        }
        else
        {
            $this->vars[$prefix.$name] = $val;
        }
        return $this;
    }

 

$this->vars[$prefix.$key] = $val;   тут корректно удет  если $val = null ?

Добавлено 7 минут спустя:

Как сделать так, чтобы  этот NULL был  пустой строкой = ""  ?
Warning: Undefined array key "feedback_user" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 51
Warning: Undefined array key "feedback_user" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 52
Warning: Undefined array key "feedback_email" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 53
Warning: Undefined array key "feedback_email" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 54
Warning: Undefined array key "feedback_text" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 55
Warning: Undefined array key "feedback_text" in /var/www/apcfix/plugins/feedback/inc/feedback.functions.php on line 56

 

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * Generates a feedback form
 * @param  array   $rdata Form data
 * @param  mixed   $tpl   Template code or existing object
 * @param  string  $name  Form name (identifier)
 * @param  boolean $ajax  Whether the form is ajax or standalone
 * @return mixed          Rendered HTML or just TRUE, depending on $tpl type
 */
function feedback_form($rdata = array(), $tpl = 'feedback.global', $name = 'feedback-global', $ajax = true)
{
    global $cot_extrafields, $db_feedback, $cfg, $sys, $usr, $L;
    static $js_included = false;
 
    if (!is_array($rdata))
    {
        $rdata = array();
    }
 
    if (is_object($tpl))
    {
        $tt = $tpl;
    }
    else
    {
        $tt = new XTemplate(cot_tplfile($tpl, 'plug'));
    }
 
    $tt->assign(array(
        'FEEDBACK_FORM_SEND'       => cot_url('plug', 'e=feedback'),
        'FEEDBACK_FORM_USER_ID'    => cot_inputbox('hidden', 'ruserid', $usr['id']),
        'FEEDBACK_FORM_TOKEN'      => cot_inputbox('hidden', 'x', $sys['xk']),
        'FEEDBACK_FORM_AUTHOR'     => ($usr['id'] == 0) ? cot_inputbox('text', 'ruser', $rdata['feedback_user']) : cot_inputbox('text', 'ruser', $usr['name'], 'readonly="readonly"'),
        'FEEDBACK_FORM_AUTHOR_RAW' => ($usr['id'] == 0) ? $rdata['feedback_user'] : $usr['name'],
        'FEEDBACK_FORM_EMAIL'      => ($usr['id'] == 0) ? cot_inputbox('text', 'remail', $rdata['feedback_email']) : cot_inputbox('text', 'remail', $usr['profile']['user_email'], 'readonly="readonly"'),
        'FEEDBACK_FORM_EMAIL_RAW'  => ($usr['id'] == 0) ? $rdata['feedback_email'] : $usr['profile']['user_email'],
        'FEEDBACK_FORM_TEXT'       => cot_textarea('rtext', $rdata['feedback_text'], 3, 36),
        'FEEDBACK_FORM_TEXT_RAW'   => $rdata['feedback_text'],
        'FEEDBACK_FORM_NAME'       => cot_inputbox('hidden', 'name', $name),
        'FEEDBACK_FORM_ID'         => $name
    ));

 

Добавлено 51 минута спустя:

просто сделать так  

 

PHP
1
2
3
$rdata['feedback_text'] = "";
$rdata['feedback_user'] = "";
$rdata['feedback_email']= "";

до вызова 

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$tt->assign(array(
    'FEEDBACK_FORM_SEND'       => cot_url('plug', 'e=feedback'),
    'FEEDBACK_FORM_USER_ID'    => cot_inputbox('hidden', 'ruserid', $usr['id']),
    'FEEDBACK_FORM_TOKEN'      => cot_inputbox('hidden', 'x', $sys['xk']),
    'FEEDBACK_FORM_AUTHOR'     => ($usr['id'] == 0) ? cot_inputbox('text', 'ruser', $rdata['feedback_user']) : cot_inputbox('text', 'ruser', $usr['name'], 'readonly="readonly"'),
    'FEEDBACK_FORM_AUTHOR_RAW' => ($usr['id'] == 0) ? $rdata['feedback_user'] : $usr['name'],
    'FEEDBACK_FORM_EMAIL'      => ($usr['id'] == 0) ? cot_inputbox('text', 'remail', $rdata['feedback_email']) : cot_inputbox('text', 'remail', $usr['profile']['user_email'], 'readonly="readonly"'),
    'FEEDBACK_FORM_EMAIL_RAW'  => ($usr['id'] == 0) ? $rdata['feedback_email'] : $usr['profile']['user_email'],
    'FEEDBACK_FORM_TEXT'       => cot_textarea('rtext', $rdata['feedback_text'], 3, 36),
    'FEEDBACK_FORM_TEXT_RAW'   => $rdata['feedback_text'],
    'FEEDBACK_FORM_NAME'       => cot_inputbox('hidden', 'name', $name),
    'FEEDBACK_FORM_ID'         => $name
));

Так ?

Добавлено 7 минут спустя:

Warning: Undefined array key "timeback" in /var/www/apcfix/plugins/hits/hits.admin.home.php on line 23

Что нужно изменить в 23 -й строке ?  или где-то ещё что-то изменилось в движке ?

Отредактировано: Kabak (29.12.2022 10:56, 2 года назад)