Форуми / National / Russian / Идеи / Просто несколько мыслей вслух

Kopusha
#47798 23.02.2024 09:39

Особенно будет полезно новичкам, осваивающим движек
Покажу кусочек кода и потом напишу что про него думаю

PHP
1
2
3
4
5
6
7
8
if (!in_array($usr['id'], $cfg['admin_user_ids']) && !in_array($usr['id'], $cfg['test_user_ids']) && !in_array($usr['id'], $cfg['moder_user_ids']))
{
    $isadmin = 0;
}
else
{
    $isadmin = 1;
}

Тут в режиме проверки id юзера вычисляют права доступа к некой функциональности
Очевидно где то есть $cfg['test_user_ids'] = array(63,4); и тд

Далее это используют так

PHP
1
2
3
4
if (!$isadmin)
{
    cot_die_message(404);
}

То есть если ты не в списке тестеров админов модераторов - cot_die_message

или так

PHP
1
2
3
4
5
6
7
8
if (!$isadmin)
{
    $wide = cot_import('wide', 'G', 'ALP');
}
else
{
    $accuracy = cot_import('accuracy', 'G', 'ALP');
}

То есть если ты не в списке тестеров админов модераторов - получи wide а иначе accuracy

 

А затем такой кусочек

PHP
1
2
3
4
5
6
$where = array();
$users_in_blocked = array();
$users_in_blocked = cot_blocked_all_blockedme((int)$usr['id']);//array (32,4,900);
//no check if (!$isadmin)
//admins (real admins) can not be blocked, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories
$where_condition = "AND item_userid NOT IN (".$users_in_blocked.")";

или такой

PHP
1
2
3
4
5
6
//no check if (!$isadmin) use if (!$usr['isadmin']) instead
//admins (real admins) can see hidden, but if a tester or moderator is blocked ($cfg['test_user_ids']) he can not see stories only 4 friends
if (!$usr['isadmin'])
{
    $where_friends = "AND (s.item_only_friends=0 OR s.item_userid=".$usr['id']." OR s.item_userid IN (".implode(',', $friends_ids)."))";
}

Тут используется if (!$usr['isadmin']) вместо if (!$isadmin) - потому что это не надо видеть модерам и тестерам

Что я всем этим хотел сказать - пишите комментарии к коду. Особенно если это что то не очевидное и вдруг в коде что то внезапно делается по другому. Не только другие люди скажут вам спасибо, вы сами, вернувшись к коду через год будете рады. Не жалейке строчек.