Вопрос по файлам (каждой группе установить свой лимит) ?

 
Посетитель
small user social cms
Медаль
Сообщений: 427
Хочу установить лимит по группам для загрузки файлов. Посмотрел подобную тему http://instantcms.ru/forum/thread8456.html в которой предлагается дописать кусочек кода

Код PHP:
  1. switch($inUser->group_id) {
  2. case '2' : $cfg['filessize'] = 200;break; //админам
  3. case '7' : $cfg['filessize'] = 50; break; //редакторам
  4. case '10' : $cfg['filessize'] = 30; break; //блогерам
  5. }
- но на 10.4 это не катит. Вносил правку в файл /components/users/files.php после 91 строки

Код PHP:
  1. 91. if ($fdo=='addfile'){
  2.  
  3. if (!$inUser->id) { cmsUser::goToLogin(); }
  4.  
  5. $usr = cmsUser::getShortUserData($inUser->id);
  6. if (!$usr) { cmsCore::error404(); }
  7.  
  8. $free_mb = $model->config['filessize'] ?
  9. round($model->config['filessize'] - round(($model->getUserFilesSize($usr['id']) / 1024) / 1024, 2), 2) :
  10. '';
Подскажите плз, как правильнее записать, чтобы работало. Заранее благодарю.
Редактировалось: 1 раз (Последний: 18 августа 2014 в 17:11)
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Посетитель
small user social cms
Медаль
Сообщений: 427
Неужели никто не сталкивался? В принципе, не так важны группы, как повысить квоту только админу. Поиск не дал результатов по данному вопросу. Помогите, пожалуйста.
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 427
Проблема актуальна...
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Если по быстрому, то можно так:
В конфиге model.php прописать что то типа 'filessize_1'=>100,'filessize_2'=>150,и так для каждой группы.В files.php сделать запрос для групп,например при помощи этой ф-ции
Код PHP:
  1. $grp = $inUser->getGroupIdByUserId($user_id) // Возвращает id группы пользователя
Ну и дальше проверять как то так
Код PHP:
  1. if($grp == 1){
  2. $model->config['filessize'] = $model->config['filessize_1']
  3. $free_mb = $model->config['filessize'] ?
  4. ........................................
  5. }
Ну и так для каждой группы, или по уму в цикл всё запаковать. Возможно будут какие то нюансы, но общий алгоритм думаю ясен? smile


'';
Посетитель
small user social cms
Медаль
Сообщений: 427
Lora, алгоритм понятен, но что-то у меня не получилось sad
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
scanread, Давай закончи с одной проблемой, а то так вообще ничего не выйдет.
Посетитель
small user social cms
Медаль
Сообщений: 427
Lora, закончили. Актуально)
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1545
Что там у тебя не выходит?Я сейчас сделал так
1. В model.php
'filessize_1'=>150,
'filessize_3'=>200,
'filessize_2'=>300,
в file.php в $fdo=='addfile' после if (!$usr) { cmsCore::error404(); }

Код PHP:
  1. $grp = $inUser->getGroupIdByUserId($usr['id']); // Возвращает id группы пользователя
  2. if($grp == 2){
  3. $model->config['filessize'] = $model->config['filessize_2'];
  4. }
  5. if($grp == 3){
  6. $model->config['filessize'] = $model->config['filessize_3'];
  7. }
  8. if($grp == 10){
  9. $model->config['filessize'] = $model->config['filessize_1'];
  10. }
и все дела.
Посетитель
small user social cms
Медаль
Сообщений: 427
Lora, dance спасибо тебе, хороший человек. Теперь все гуд работает. А то ишь у админа лимит закончился laugh
от 16% в месяц на автопилоте
Недорогой и надежный хостинг Промокод 20% скидка - 841de7-20
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.