Skip to content

Commit

Permalink
#1774 $cfg['legacyMode'] to turn off deprecated features
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex300 committed Mar 5, 2024
1 parent 7efa3e0 commit b9358f0
Show file tree
Hide file tree
Showing 40 changed files with 730 additions and 528 deletions.
6 changes: 6 additions & 0 deletions datas/config-sample.php
Expand Up @@ -148,6 +148,12 @@
*/
$cfg['shield_force'] = false;

/**
* Turn on/off deprecated features that has not yet been removed.
* In particular, it turns on/off deprecated template engine tags for ease of development.
*/
$cfg['legacyMode'] = false;

// ========================
// Names for MySQL tables
// Only change if you'd like to
Expand Down
22 changes: 14 additions & 8 deletions login.php
Expand Up @@ -131,8 +131,10 @@
$userSelectCondition = null;
$userSelectParams = [];

/** @deprecated Will be removed in 1.0.0 */
$user_select_condition = null;
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
/** @deprecated Will be removed in 1.0.0 */
$user_select_condition = null;
}

if (!$validating) {
if (!empty($rusername) && !empty($rmdpass)) {
Expand All @@ -152,9 +154,11 @@
}
/* ===== */

// For backwards compatibility. Will be removed in 1.0.0
if (!empty($user_select_condition)) {
$userSelectCondition = $user_select_condition;
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// For backwards compatibility. Will be removed in 1.0.0
if (!empty($user_select_condition)) {
$userSelectCondition = $user_select_condition;
}
}

if (empty($userSelectCondition)) {
Expand All @@ -167,19 +171,21 @@
'user_theme, user_scheme, user_lang, user_sid, user_sidtime ' .
'FROM ' . Cot::$db->users . " WHERE $userSelectCondition", $userSelectParams);

/* Checking if we got any entries with the current login conditions,
/*
Checking if we got any entries with the current login conditions,
only may fail when user name has e-mail format or user is not registered,
added for compatibility, because disallowed using e-mail as login on registration
*/
if ($sql->rowCount() == 0) {
// If login has e-mail format, try to find it as user_name
$user_select_condition = "user_password=".Cot::$db->quote($rmdpass)." AND user_name=".Cot::$db->quote($rusername);
$userSelectCondition2 = "user_password = " . Cot::$db->quote($rmdpass)
. " AND user_name = " . Cot::$db->quote($rusername);

// Query the database
$sql = Cot::$db->query('SELECT user_id, user_name, user_token, user_regdate, user_maingrp, ' .
'user_banexpire, user_theme, user_scheme, user_lang, user_sid, user_sidtime ' .
'FROM ' . Cot::$db->users .
" WHERE $user_select_condition");
" WHERE $userSelectCondition2");
}

if ($row = $sql->fetch()) {
Expand Down
37 changes: 19 additions & 18 deletions modules/forums/inc/forums.posts.php
Expand Up @@ -369,8 +369,10 @@
$row['fp_updatedby'] = sprintf(Cot::$L['forums_updatedby'], htmlspecialchars($row['fp_updater']), cot_date('datetime_medium', $row['fp_updated']), cot_build_timegap($row['fp_updated'], $sys['now']));
}

// @deprecated in 0.9.24
$t->assign(cot_generate_usertags($row, 'FORUMS_POSTS_ROW_USER'));
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$t->assign(cot_generate_usertags($row, 'FORUMS_POSTS_ROW_USER'));
}

$t->assign(cot_generate_usertags($row, 'FORUMS_POSTS_ROW_USER_'));
$t->assign([
Expand Down Expand Up @@ -550,34 +552,33 @@
false,
'onchange="redirect(this)"'
),

// @deprecated in 0.9.24
'FORUMS_POSTS_PAGES' => $pagenav['main'],
'FORUMS_POSTS_PAGEPREV' => $pagenav['prev'],
'FORUMS_POSTS_PAGENEXT' => $pagenav['next'],
'FORUMS_POSTS_CURRENTPAGE' => $pagenav['current'],
'FORUMS_POSTS_TOTALPAGES' => ceil($totalposts / Cot::$cfg['forums']['maxpostsperpage']),
'FORUMS_POSTS_PAGETITLE' => $toptitle,
'FORUMS_POSTS_SHORTTITLE' => htmlspecialchars($rowt['ft_title']),
]);
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$t->assign([
'FORUMS_POSTS_PAGES' => $pagenav['main'],
'FORUMS_POSTS_PAGEPREV' => $pagenav['prev'],
'FORUMS_POSTS_PAGENEXT' => $pagenav['next'],
'FORUMS_POSTS_CURRENTPAGE' => $pagenav['current'],
'FORUMS_POSTS_TOTALPAGES' => ceil($totalposts / Cot::$cfg['forums']['maxpostsperpage']),
'FORUMS_POSTS_PAGETITLE' => $toptitle,
'FORUMS_POSTS_SHORTTITLE' => htmlspecialchars($rowt['ft_title']),
]);
}

$t->assign(cot_generatePaginationTags($pagenav));

// Topic icon
$rowt['ft_icon'] = 'posts';
$rowt['ft_postisnew'] = FALSE;
if ($rowt['ft_updated'] > Cot::$usr['lastvisit'] && Cot::$usr['id']>0)
{
if ($rowt['ft_updated'] > Cot::$usr['lastvisit'] && Cot::$usr['id'] > 0) {
$rowt['ft_icon'] .= '_new';
$rowt['ft_postisnew'] = TRUE;
}

if ($rowt['ft_postcount'] >= Cot::$cfg['forums']['hottopictrigger'] && !$rowt['ft_state'] && !$rowt['ft_sticky'])
{
if ($rowt['ft_postcount'] >= Cot::$cfg['forums']['hottopictrigger'] && !$rowt['ft_state'] && !$rowt['ft_sticky']) {
$rowt['ft_icon'] = ($rowt['ft_postisnew']) ? 'posts_new_hot' : 'posts_hot';
}
else
{
} else {
$rowt['ft_icon'] .= ($rowt['ft_sticky']) ? '_sticky' : '';
$rowt['ft_icon'] .= ($rowt['ft_state']) ? '_locked' : '';
}
Expand Down
7 changes: 3 additions & 4 deletions modules/install/inc/install.install.php
Expand Up @@ -52,8 +52,7 @@
}

// Import section
switch ($step)
{
switch ($step) {
// Step 2. $step will be increased later
case 2:
$db_host = cot_import('db_host', 'P', 'TXT', 0, false, true);
Expand Down Expand Up @@ -181,10 +180,10 @@ function_exists($inst_func_name) && $inst_func_name();
$db->query('CREATE DATABASE ' . $db->quoteTableName($db_name));
$db->query('USE ' . $db->quoteTableName($db_name));
} catch (PDOException $e) {
cot_error($L['install_error_sql_db'] . $e->getMessage(), 'db_name');
cot_error($L['install_error_sql_db'] . ' ' . $e->getMessage(), 'db_name');
}
} else {
cot_error($L['install_error_sql'] . $e->getMessage(), 'db_host');
cot_error($L['install_error_sql'] . ' ' . $e->getMessage(), 'db_host');
}
}

Expand Down
38 changes: 20 additions & 18 deletions modules/page/inc/page.add.php
Expand Up @@ -168,13 +168,13 @@
'PAGEADD_FORM_SEND' => cot_url('page', 'm=add&a=add&c=' . $c),
'PAGEADD_FORM_CAT' => cot_selectbox_structure('page', $rpage['page_cat'], 'rpagecat'),
'PAGEADD_FORM_CAT_SHORT' => cot_selectbox_structure('page', $rpage['page_cat'], 'rpagecat', $c),
'PAGEADD_FORM_KEYWORDS' => cot_inputbox('text', 'rpagekeywords', $rpage['page_keywords'], array('maxlength' => '255')),
'PAGEADD_FORM_METATITLE' => cot_inputbox('text', 'rpagemetatitle', $rpage['page_metatitle'], array('maxlength' => '255')),
'PAGEADD_FORM_METADESC' => cot_textarea('rpagemetadesc', $rpage['page_metadesc'], 2, 64, array('maxlength' => '255')),
'PAGEADD_FORM_ALIAS' => cot_inputbox('text', 'rpagealias', $rpage['page_alias'], array('maxlength' => '255')),
'PAGEADD_FORM_TITLE' => cot_inputbox('text', 'rpagetitle', $rpage['page_title'], array('maxlength' => '255')),
'PAGEADD_FORM_DESCRIPTION' => cot_textarea('rpagedesc', $rpage['page_desc'], 2, 64, array('maxlength' => '255')),
'PAGEADD_FORM_AUTHOR' => cot_inputbox('text', 'rpageauthor', $rpage['page_author'], array('maxlength' => '100')),
'PAGEADD_FORM_KEYWORDS' => cot_inputbox('text', 'rpagekeywords', $rpage['page_keywords'], ['maxlength' => '255']),
'PAGEADD_FORM_METATITLE' => cot_inputbox('text', 'rpagemetatitle', $rpage['page_metatitle'], ['maxlength' => '255']),
'PAGEADD_FORM_METADESC' => cot_textarea('rpagemetadesc', $rpage['page_metadesc'], 2, 64, ['maxlength' => '255']),
'PAGEADD_FORM_ALIAS' => cot_inputbox('text', 'rpagealias', $rpage['page_alias'], ['maxlength' => '255']),
'PAGEADD_FORM_TITLE' => cot_inputbox('text', 'rpagetitle', $rpage['page_title'], ['maxlength' => '255']),
'PAGEADD_FORM_DESCRIPTION' => cot_textarea('rpagedesc', $rpage['page_desc'], 2, 64, ['maxlength' => '255']),
'PAGEADD_FORM_AUTHOR' => cot_inputbox('text', 'rpageauthor', $rpage['page_author'], ['maxlength' => '100']),
'PAGEADD_FORM_OWNER' => cot_build_user(Cot::$usr['id'], Cot::$usr['name']),
'PAGEADD_FORM_OWNER_ID' => Cot::$usr['id'],
'PAGEADD_FORM_DATE' => cot_selectbox_date(Cot::$sys['now'], 'long', 'rpagedate'),
Expand All @@ -187,33 +187,35 @@
[Cot::$L['No'], Cot::$L['Yes'], Cot::$L['Members_only']],
false
),
'PAGEADD_FORM_URL' => cot_inputbox('text', 'rpageurl', $rpage['page_url'], array('maxlength' => '255')),
'PAGEADD_FORM_SIZE' => cot_inputbox('text', 'rpagesize', $rpage['page_size'], array('maxlength' => '255')),
'PAGEADD_FORM_URL' => cot_inputbox('text', 'rpageurl', $rpage['page_url'], ['maxlength' => '255']),
'PAGEADD_FORM_SIZE' => cot_inputbox('text', 'rpagesize', $rpage['page_size'], ['maxlength' => '255']),
'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_editor'),
'PAGEADD_FORM_PARSER' => cot_selectbox(Cot::$cfg['page']['parser'], 'rpageparser', $parser_list, $parser_list, false),

// @deprecated in 0.9.24
'PAGEADD_FORM_OWNERID' => Cot::$usr['id'],
'PAGEADD_FORM_DESC' => cot_textarea('rpagedesc', $rpage['page_desc'], 2, 64, array('maxlength' => '255')),
// /@deprecated
);
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$t->assign([
'PAGEADD_FORM_OWNERID' => Cot::$usr['id'],
'PAGEADD_FORM_DESC' => cot_textarea('rpagedesc', $rpage['page_desc'], 2, 64, ['maxlength' => '255']),
]);
}

$t->assign($pageadd_array);

// Extra fields
if(!empty(Cot::$extrafields[Cot::$db->pages])) {
if (!empty(Cot::$extrafields[Cot::$db->pages])) {
foreach (Cot::$extrafields[Cot::$db->pages] as $exfld) {
$uname = strtoupper($exfld['field_name']);
$data = isset($rpage['page_' . $exfld['field_name']]) ? $rpage['page_' . $exfld['field_name']] : null;
$exfld_val = cot_build_extrafields('rpage' . $exfld['field_name'], $exfld, $data);
$exfld_title = cot_extrafield_title($exfld, 'page_');

$t->assign(array(
$t->assign([
'PAGEADD_FORM_' . $uname => $exfld_val,
'PAGEADD_FORM_' . $uname . '_TITLE' => $exfld_title,
'PAGEADD_FORM_EXTRAFLD' => $exfld_val,
'PAGEADD_FORM_EXTRAFLD_TITLE' => $exfld_title
));
'PAGEADD_FORM_EXTRAFLD_TITLE' => $exfld_title,
]);
$t->parse('MAIN.EXTRAFLD');
}
}
Expand Down
33 changes: 19 additions & 14 deletions modules/page/inc/page.edit.php
Expand Up @@ -160,29 +160,34 @@
[Cot::$L['No'], Cot::$L['Yes'], Cot::$L['Members_only']],
false
),
'PAGEEDIT_FORM_URL' => cot_inputbox('text', 'rpageurl', $pag['page_url'], array('maxlength' => '255')),
'PAGEEDIT_FORM_SIZE' => cot_inputbox('text', 'rpagesize', $pag['page_size'], array('maxlength' => '255')),
'PAGEEDIT_FORM_URL' => cot_inputbox('text', 'rpageurl', $pag['page_url'], ['maxlength' => '255']),
'PAGEEDIT_FORM_SIZE' => cot_inputbox('text', 'rpagesize', $pag['page_size'], ['maxlength' => '255']),
'PAGEEDIT_FORM_TEXT' => cot_textarea('rpagetext', $pag['page_text'], 24, 120, '', 'input_textarea_editor'),
'PAGEEDIT_FORM_DELETE' => cot_radiobox(0, 'rpagedelete', array(1, 0), array(Cot::$L['Yes'], Cot::$L['No'])),
'PAGEEDIT_FORM_DELETE' => cot_radiobox(0, 'rpagedelete', [1, 0], [Cot::$L['Yes'], Cot::$L['No']]),
'PAGEEDIT_FORM_PARSER' => cot_selectbox($pag['page_parser'], 'rpageparser', cot_get_parsers(), cot_get_parsers(), false),

// @deprecated in 0.9.24
'PAGEEDIT_FORM_DESC' => cot_textarea('rpagedesc', $pag['page_desc'], 2, 64, array('maxlength' => '255')),
'PAGEEDIT_FORM_LOCALSTATUS' => Cot::$L['page_status_'.$pag['page_status']],
// /@deprecated
];
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$pageedit_array += [
'PAGEEDIT_FORM_DESC' => cot_textarea('rpagedesc', $pag['page_desc'], 2, 64, ['maxlength' => '255']),
'PAGEEDIT_FORM_LOCALSTATUS' => Cot::$L['page_status_'.$pag['page_status']],
];
}

if (Cot::$usr['isadmin']) {
$pageedit_array += [
'PAGEEDIT_FORM_OWNER_ID' => cot_inputbox('text', 'rpageownerid', $pag['page_ownerid'], ['maxlength' => '24']),
'PAGEEDIT_FORM_HITS' => cot_inputbox('text', 'rpagecount', $pag['page_count'], ['maxlength' => '8']),
'PAGEEDIT_FORM_FILE_DOWNLOADS' => cot_inputbox('text', 'rpagefilecount', $pag['page_filecount'], ['maxlength' => '8']),

// @deprecated in 0.9.24
'PAGEEDIT_FORM_OWNERID' => cot_inputbox('text', 'rpageownerid', $pag['page_ownerid'], array('maxlength' => '24')),
'PAGEEDIT_FORM_PAGECOUNT' => cot_inputbox('text', 'rpagecount', $pag['page_count'], array('maxlength' => '8')),
'PAGEEDIT_FORM_FILECOUNT' => cot_inputbox('text', 'rpagefilecount', $pag['page_filecount'], array('maxlength' => '8')),
// /@deprecated
];
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$pageedit_array += [
'PAGEEDIT_FORM_OWNERID' => cot_inputbox('text', 'rpageownerid', $pag['page_ownerid'], ['maxlength' => '24']),
'PAGEEDIT_FORM_PAGECOUNT' => cot_inputbox('text', 'rpagecount', $pag['page_count'], ['maxlength' => '8']),
'PAGEEDIT_FORM_FILECOUNT' => cot_inputbox('text', 'rpagefilecount', $pag['page_filecount'], ['maxlength' => '8']),
];
}
}

$t->assign($pageedit_array);
Expand Down
99 changes: 52 additions & 47 deletions modules/page/inc/page.functions.php
Expand Up @@ -280,38 +280,40 @@ function cot_generate_pagetags(
'NOT_AVAILABLE' => ($page_data['page_begin'] > Cot::$sys['now'])
? Cot::$L['page_notavailable'] . cot_build_timegap(Cot::$sys['now'], $page_data['page_begin'])
: '',

// @deprecated in 0.9.24
'SHORTTITLE' => htmlspecialchars($page_data['page_title'], ENT_COMPAT, 'UTF-8', false),
'LOCALSTATUS' => $L['page_status_' . $page_data['page_status']],
'CATURL' => $cat_url,
'CATTITLE' => $catTitle,
'CATPATH' => $catpath,
'CATPATH_SHORT' => cot_rc_link($cat_url, $catTitle),
'CATDESC' => (isset($structure['page'][$page_data['page_cat']]['desc'])
&& $structure['page'][$page_data['page_cat']]['desc'] != '') ?
htmlspecialchars($structure['page'][$page_data['page_cat']]['desc']) : '',
'CATICON' => isset($structure['page'][$page_data['page_cat']]['icon']) ?
$structure['page'][$page_data['page_cat']]['icon'] : '',
'OWNERID' => $page_data['page_ownerid'],
'OWNERNAME' => (isset($page_data['user_name']) && $page_data['user_name'] != '') ?
htmlspecialchars($page_data['user_name']) : '',
'DESC' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : '',
'DESC_OR_TEXT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : $text,
'DESC_OR_TEXT_CUT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : $text_cut,
'DATE' => cot_date($date_format, $page_data['page_date']),
'DATE_STAMP' => $page_data['page_date'],
'FILE_COUNT' => $page_data['page_filecount'],
'FILE_COUNTTIMES' => cot_declension($page_data['page_filecount'], $Ls['Times']),
'COUNT' => $page_data['page_count'],
'NOTAVAILABLE' => ($page_data['page_begin'] > Cot::$sys['now'])
? Cot::$L['page_notavailable'] . cot_build_timegap(Cot::$sys['now'], $page_data['page_begin'])
: '',
// /@deprecated
];
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$temp_array += [
'SHORTTITLE' => htmlspecialchars($page_data['page_title'], ENT_COMPAT, 'UTF-8', false),
'LOCALSTATUS' => $L['page_status_' . $page_data['page_status']],
'CATURL' => $cat_url,
'CATTITLE' => $catTitle,
'CATPATH' => $catpath,
'CATPATH_SHORT' => cot_rc_link($cat_url, $catTitle),
'CATDESC' => (isset($structure['page'][$page_data['page_cat']]['desc'])
&& $structure['page'][$page_data['page_cat']]['desc'] != '') ?
htmlspecialchars($structure['page'][$page_data['page_cat']]['desc']) : '',
'CATICON' => isset($structure['page'][$page_data['page_cat']]['icon']) ?
$structure['page'][$page_data['page_cat']]['icon'] : '',
'OWNERID' => $page_data['page_ownerid'],
'OWNERNAME' => (isset($page_data['user_name']) && $page_data['user_name'] != '') ?
htmlspecialchars($page_data['user_name']) : '',
'DESC' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : '',
'DESC_OR_TEXT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : $text,
'DESC_OR_TEXT_CUT' => (isset($page_data['page_desc']) && $page_data['page_desc'] != '') ?
htmlspecialchars($page_data['page_desc']) : $text_cut,
'DATE' => cot_date($date_format, $page_data['page_date']),
'DATE_STAMP' => $page_data['page_date'],
'FILE_COUNT' => $page_data['page_filecount'],
'FILE_COUNTTIMES' => cot_declension($page_data['page_filecount'], $Ls['Times']),
'COUNT' => $page_data['page_count'],
'NOTAVAILABLE' => ($page_data['page_begin'] > Cot::$sys['now'])
? Cot::$L['page_notavailable'] . cot_build_timegap(Cot::$sys['now'], $page_data['page_begin'])
: '',
];
}

// Admin tags
if ($admin_rights) {
Expand Down Expand Up @@ -379,11 +381,13 @@ function cot_generate_pagetags(
} else {
$temp_array = [
'TITLE' => (!empty($emptytitle)) ? $emptytitle : Cot::$L['Deleted'],

// @deprecated in 0.9.24
'SHORTTITLE' => (!empty($emptytitle)) ? $emptytitle : Cot::$L['Deleted'],
// /@deprecated
];
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
$temp_array += [
'SHORTTITLE' => (!empty($emptytitle)) ? $emptytitle : Cot::$L['Deleted'],
];
}
}

$return_array = [];
Expand Down Expand Up @@ -1068,19 +1072,20 @@ function cot_page_enum(
$pagenav = cot_pagenav($url_area, $url_params, $d, $totalitems, $count, $pagination);
}

$t->assign([
if (isset(Cot::$cfg['legacyMode']) && Cot::$cfg['legacyMode']) {
// @deprecated in 0.9.24
'PAGE_TOP_PAGINATION' => $pagenav['main'],
'PAGE_TOP_PAGEPREV' => $pagenav['prev'],
'PAGE_TOP_PAGENEXT' => $pagenav['next'],
'PAGE_TOP_FIRST' => isset($pagenav['first']) ? $pagenav['first'] : '',
'PAGE_TOP_LAST' => $pagenav['last'],
'PAGE_TOP_CURRENTPAGE' => $pagenav['current'],
'PAGE_TOP_TOTALLINES' => $totalitems,
'PAGE_TOP_MAXPERPAGE' => $count,
'PAGE_TOP_TOTALPAGES' => $pagenav['total'],
// /@deprecated
]);
$t->assign([
'PAGE_TOP_PAGINATION' => $pagenav['main'],
'PAGE_TOP_PAGEPREV' => $pagenav['prev'],
'PAGE_TOP_PAGENEXT' => $pagenav['next'],
'PAGE_TOP_FIRST' => isset($pagenav['first']) ? $pagenav['first'] : '',
'PAGE_TOP_LAST' => $pagenav['last'],
'PAGE_TOP_CURRENTPAGE' => $pagenav['current'],
'PAGE_TOP_TOTALLINES' => $totalitems,
'PAGE_TOP_MAXPERPAGE' => $count,
'PAGE_TOP_TOTALPAGES' => $pagenav['total'],
]);
}

$t->assign(cot_generatePaginationTags($pagenav));

Expand Down

0 comments on commit b9358f0

Please sign in to comment.