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

Kabak
#45778 29.12.2022 16:03

Обновить не помогло 

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

 

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

 

Такое решение исправит варнинг но нарушит работу вашего плагина ... плагин не из коробки потому как он работает известно его автору и тем у кого есть его полный код

 

Но после вызова 

PHP
1
$tt->assign(array(

значения заменятся, если они есть.  Почему нарушится работа плагина ?  Вот как он начинается

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
41
42
43
44
45
46
47
48
49
50
51
52
require_once cot_incfile('extrafields');
require_once cot_incfile('forms');
 
require_once cot_langfile('feedback', 'plug');
 
if (!isset($GLOBALS['db_feedback'])) $GLOBALS['db_feedback'] = $GLOBALS['db_x'] . 'feedback';
global $db_feedback;
$cot_extrafields[$db_feedback] = (isset($cot_extrafields[$db_feedback] )) ? $cot_extrafields[$db_feedback] : array();
 
/**
 * 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'));
    }
 
    $rdata['feedback_text'] = "";
    $rdata['feedback_user'] = "";
    $rdata['feedback_email']= "";
    $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 минут спустя:

PHP
1
2
3
    isset($rdata['feedback_text']) ? $rdata['feedback_text'] : $rdata['feedback_text'] = "";
    isset($rdata['feedback_user']) ? $rdata['feedback_user'] : $rdata['feedback_user'] ="";
    isset($rdata['feedback_email']) ?  $rdata['feedback_email'] : $rdata['feedback_email'] ="";

Так лучше ?

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

PHP
1
$sys['protecttopadmin']

1) Для чего и используется в движке ?

2) Как правильно использовать ?


Відредаговано: Kabak (29.12.2022 19:48, 2 року тому)