Обновляем и оптимизируем функцию Gram_Record на Vii Engine 3.0 под PHP 8+
И так дорогие друзья движок Vii Engine 3.0 на PHP 8+ прошел полный рефактор кода от простых выражений до сложных функций было все переписано дописано и оптимизировано под реальные нагрузки.
О дате выхода Reliza и цены сообщу позже (СРАЗУ СКАЖУ ДВИЖОК НЕ ДЛЯ ШКОЛОТЫ).
А сейчас держите обновление бесплатное от группы PHPSocial Group!
В functions.php есть довольно длинный и коварный код
function gram_record($num,$type){
global $lang;
$strlen_num = strlen($num);
if($num <= 21){
$numres = $num;
} elseif($strlen_num == 2){
$parsnum = substr($num,1,2);
$numres = str_replace('0','10',$parsnum);
} elseif($strlen_num == 3){
$parsnum = substr($num,2,3);
$numres = str_replace('0','10',$parsnum);
} elseif($strlen_num == 4){
$parsnum = substr($num,3,4);
$numres = str_replace('0','10',$parsnum);
} elseif($strlen_num == 5){
$parsnum = substr($num,4,5);
$numres = str_replace('0','10',$parsnum);
}
if($type == 'rec'){
if($numres == 1){
$gram_num_record = $lang['lang_981'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_982'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_983'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_981'];
}
}
if($type == 'comments'){
if($numres == 0){
$gram_num_record = $lang['lang_984'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_985'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_986'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_984'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_985'];
}
}
if($type == 'albums'){
if($numres == 0){
$gram_num_record = $lang['lang_987'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_988'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_989'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_987'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_988'];
}
}
if($type == 'photos'){
if($numres == 0){
$gram_num_record = $lang['lang_990'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_991'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_992'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_990'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_991'];
}
}
if($type == 'friends_demands'){
if($numres == 0){
$gram_num_record = $lang['lang_993'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_994'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_995'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_996'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_997'];
}
}
if($type == 'user_age'){
if($numres == 0){
$gram_num_record = $lang['lang_998'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_999'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1000'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_998'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_999'];
}
}
if($type == 'friends_common'){
if($numres == 1){
$gram_num_record = $lang['lang_1001'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1002'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1003'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1001'];
}
}
if($type == 'friends'){
if($numres == 0){
$gram_num_record = $lang['lang_1004'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1005'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1006'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1007'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1008'];
}
}
if($type == 'friends_online'){
if($numres == 0){
$gram_num_record = $lang['lang_1009'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1010'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1011'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1012'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1010'];
}
}
if($type == 'fave'){
if($numres == 0){
$gram_num_record = $lang['lang_1013'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1014'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1015'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1014'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1014'];
}
}
if($type == 'prev'){
if($numres == 0){
$gram_num_record = $lang['lang_1016'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1017'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1018'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1018'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1017'];
}
}
if($type == 'subscr'){
if($numres == 0){
$gram_num_record = $lang['lang_1019'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1020'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1021'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1022'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1020'];
}
}
if($type == 'videos'){
if($numres == 0){
$gram_num_record = $lang['lang_1023'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1024'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1025'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1026'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1024'];
}
}
if($type == 'notes'){
if($numres == 0){
$gram_num_record = $lang['lang_1027'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1028'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1029'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1030'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1028'];
}
}
if($type == 'like'){
if($numres == 0){
$gram_num_record = $lang['lang_1031'];
} elseif($numres == 1){
$gram_num_record = $lang['lang_1031'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1032'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1032'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1031'];
}
}
if($type == 'updates'){
if($numres == 0){
$gram_num_record = '';
} elseif($numres == 1){
$gram_num_record = $lang['lang_1033'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1034'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1034'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1033'];
}
}
if($type == 'msg'){
if($numres == 1){
$gram_num_record = $lang['lang_1035'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1036'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1037'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1035'];
}
}
if($type == 'questions'){
if($numres == 1){
$gram_num_record = $lang['lang_1038'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1039'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1040'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1038'];
}
}
if($type == 'gifts'){
if($numres == 1){
$gram_num_record = $lang['lang_1041'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1042'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1043'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1041'];
}
}
if($type == 'groups_users'){
if($numres == 1){
$gram_num_record = $lang['lang_1044'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1045'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1046'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1044'];
}
}
if($type == 'groups'){
if($numres == 1){
$gram_num_record = $lang['lang_1047'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1048'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1048'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1047'];
}
}
if($type == 'subscribers'){
if($numres == 1){
$gram_num_record = $lang['lang_1049'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1050'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1051'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1049'];
}
}
if($type == 'subscribers2'){
if($numres == 1){
$gram_num_record = $lang['lang_1052'].' <span id="traf2">'.$num.'</span> '.$lang['lang_1034'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1053'].' <span id="traf2">'.$num.'</span> '.$lang['lang_1033'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1053'].' <span id="traf2">'.$num.'</span> '.$lang['lang_1034'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1052'].' <span id="traf2">'.$num.'</span> '.$lang['lang_1034'];
}
}
if($type == 'feedback'){
if($numres == 1){
$gram_num_record = $lang['lang_1054'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1055'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1056'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1057'];
}
}
if($type == 'se_groups'){
if($numres == 1){
$gram_num_record = $lang['lang_1058'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1059'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1060'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1058'];
}
}
if($type == 'audio'){
if($numres == 1){
$gram_num_record = $lang['lang_1061'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1062'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1063'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1061'];
}
}
if($type == 'video_views'){
if($numres == 1){
$gram_num_record = $lang['lang_1064'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_1065'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_1066'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_1064'];
}
}
return $gram_num_record;
}
Конечно в свое время он был не плохой, я же его переписал и оптимизировал
function gram_record($num, $type){
global $lang;
$num = abs((int)$num); // на всякий случай
$n = $num % 100;
$n1 = $num % 10;
// Выбираем правильную форму
if ($n > 10 && $n < 20) {
$idx = 2;
} elseif ($n1 == 1) {
$idx = 0;
} elseif ($n1 >= 2 && $n1 <= 4) {
$idx = 1;
} else {
$idx = 2;
}
// Сопоставляем тип с языковыми формами
$map = [
'rec' => [$lang['lang_981'], $lang['lang_982'], $lang['lang_983']],
'comments' => [$lang['lang_985'], $lang['lang_986'], $lang['lang_984']],
'albums' => [$lang['lang_988'], $lang['lang_989'], $lang['lang_987']],
'photos' => [$lang['lang_991'], $lang['lang_992'], $lang['lang_990']],
'friends_demands' => [$lang['lang_994'], $lang['lang_995'], $lang['lang_996']],
'user_age' => [$lang['lang_999'], $lang['lang_1000'], $lang['lang_998']],
'friends_common' => [$lang['lang_1001'], $lang['lang_1002'], $lang['lang_1003']],
'friends' => [$lang['lang_1005'], $lang['lang_1006'], $lang['lang_1007']],
'friends_online' => [$lang['lang_1010'], $lang['lang_1011'], $lang['lang_1012']],
'fave' => [$lang['lang_1014'], $lang['lang_1015'], $lang['lang_1014']],
'prev' => [$lang['lang_1017'], $lang['lang_1018'], $lang['lang_1018']],
'subscr' => [$lang['lang_1020'], $lang['lang_1021'], $lang['lang_1022']],
'videos' => [$lang['lang_1024'], $lang['lang_1025'], $lang['lang_1026']],
'notes' => [$lang['lang_1028'], $lang['lang_1029'], $lang['lang_1030']],
'like' => [$lang['lang_1031'], $lang['lang_1032'], $lang['lang_1032']],
'updates' => [$lang['lang_1033'], $lang['lang_1034'], $lang['lang_1034']],
'msg' => [$lang['lang_1035'], $lang['lang_1036'], $lang['lang_1037']],
'questions' => [$lang['lang_1038'], $lang['lang_1039'], $lang['lang_1040']],
'gifts' => [$lang['lang_1041'], $lang['lang_1042'], $lang['lang_1043']],
'groups_users' => [$lang['lang_1044'], $lang['lang_1045'], $lang['lang_1046']],
'groups' => [$lang['lang_1047'], $lang['lang_1048'], $lang['lang_1048']],
'subscribers' => [$lang['lang_1049'], $lang['lang_1050'], $lang['lang_1051']],
'subscribers2' => [$lang['lang_1052'], $lang['lang_1053'], $lang['lang_1053']],
'feedback' => [$lang['lang_1054'], $lang['lang_1055'], $lang['lang_1056']],
'se_groups' => [$lang['lang_1058'], $lang['lang_1059'], $lang['lang_1060']],
'audio' => [$lang['lang_1061'], $lang['lang_1062'], $lang['lang_1063']],
'video_views' => [$lang['lang_1064'], $lang['lang_1065'], $lang['lang_1066']],
];
if (!isset($map[$type])) return '';
return $map[$type][$idx];
}
Информация
Посетители, находящиеся в группе Гости, не могут скачивать файлы с нашего сайта.
Пожалуйста зарегистрируйтесь или авторизируйтесь для доступа к файлу.
Похожие новости
Обсуждение новости
-
Информация
-
Vii Engine NEW
-
DataLife Engine
-
Скрипты, Soft, APP, CMS
-
Bootstrap
-
Шаблоны сайтов
-
Web Мастеру
Статистика
Гости1
Список пользователей
Test
Был(a) в сети 5 часов назад
Обновленияnew
Комментарии
Часто задаваемые вопросы
Информация
Скидка на все скрипты 20%! до 8 сентября
Актуальная версия Vii Engine 3.0
Внимание! Сайт мошенников!
Облако тегов
Billing DataLife Engine Final PHPSocial Release Адаптивный ВКонтакте Сборка Скачать бесплатно версии версия возможности время дизайном изображений имеет интернет модулей модуль можно некоторые новостей новые плагин полностью помощью простой работает сайт сайта сети системы скрипт слив социальной также хостинг шаблон






