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

Kabak
#45778 2022-12-29 16:03

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

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

 

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

 

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

 

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

$tt->assign(array(

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

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 минут спустя:

    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 минут спустя:

$sys['protecttopadmin']

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

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


Bu konu Kabak tarafından düzenlendi(2022-12-29 19:48, 1 yıllar önce)