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

#1 18 августа 2014 в 17:04
Хочу установить лимит по группам для загрузки файлов. Посмотрел подобную тему instantcms.ru/forum/thread8456.html в которой предлагается дописать кусочек кода

  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 строки

  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. '';
Подскажите плз, как правильнее записать, чтобы работало. Заранее благодарю.
#2 20 августа 2014 в 14:07
Неужели никто не сталкивался? В принципе, не так важны группы, как повысить квоту только админу. Поиск не дал результатов по данному вопросу. Помогите, пожалуйста.
#3 22 августа 2014 в 15:35
Проблема актуальна…
#4 22 августа 2014 в 18:14
Если по быстрому, то можно так:
В конфиге model.php прописать что то типа 'filessize_1'=>100,'filessize_2'=>150, и так для каждой группы.В files.php сделать запрос для групп, например при помощи этой ф-ции
  1. $grp = $inUser->getGroupIdByUserId($user_id) // Возвращает id группы пользователя
Ну и дальше проверять как то так
  1. if($grp == 1){
  2. $model->config['filessize'] = $model->config['filessize_1']
  3. $free_mb = $model->config['filessize'] ?
  4. ........................................
  5. }
Ну и так для каждой группы, или по уму в цикл всё запаковать. Возможно будут какие то нюансы, но общий алгоритм думаю ясен? smile


'';
#5 22 августа 2014 в 18:59
Lora, алгоритм понятен, но что-то у меня не получилось sad
#6 22 августа 2014 в 20:58
scanread, Давай закончи с одной проблемой, а то так вообще ничего не выйдет.
#7 24 августа 2014 в 14:48
Lora, закончили. Актуально)
#8 24 августа 2014 в 20:12
Что там у тебя не выходит? Я сейчас сделал так
1. В model.php
'filessize_1'=>150,
'filessize_3'=>200,
'filessize_2'=>300,
в file.php в $fdo=='addfile' после if (!$usr) { cmsCore::error404(); }

  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. }
и все дела.
#9 24 августа 2014 в 21:06
Lora, danceспасибо тебе, хороший человек. Теперь все гуд работает. А то ишь у админа лимит закончился laugh
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.