Kredov long

[Решено] Разные прайсы для разных групп пользователей

Тема в разделе "OpenCart", создана пользователем zek24, 31 июл 2013.

Статус темы:
Закрыта.
  1. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
    Привет,
    появилась необходимость сделать следующее:
    1. У каждой группы пользователей (в том числе и дефолтных) отобразить ссылку(и) (скажем в гор.меню) на скачку прайсов (xls). Пользователю группы А - прайсА, группы Б - прайсБ и т.д. Сам знаю PHP до ООП и подозреваю что это делается как то так:
    PHP:
    if($group_id 1){
        
    $ssilka "...";
    }else(
    $group_id 2){
        
        
    $ssilka "...";
    }
    Но как подобраться к проверки группы текущего пользователя не знаю.
    2. Пользователь группы А должен иметь доступ только к прайсуА и никак к остальным. То есть простая ссылка на файл типа \upload\price\priceA.xls не подойдет. Нельзя чтобы кто-то из группыБ вбил \upload\price\priceA.xls и скачал\ознакомился не со своим прайсом. Подозреваю, что здесь нужен какой-то обработчик, но не знаю как лучше сделать.
    выручайте...
     
  2. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
    по первому вопросу нашел решение
     
  3. zek24

    zek24

    Регистрация:
    10 ноя 2012
    Сообщения:
    162
    Симпатии:
    23
    задачу решил так (может кому пригодится)
    PHP:
    function obrabotka_price($file)
    {
        if (
    file_exists($file)) {
            
    header('Content-Description: File Transfer');
            
    header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
            
    header('Content-Disposition: attachment; filename=' basename($file));
            
    header('Content-Transfer-Encoding: binary');
            
    header('Expires: 0');
            
    header('Cache-Control: must-revalidate');
            
    header('Pragma: public');
            
    header('Content-Length: ' filesize($file));
            
    ob_clean();
            
    flush();
            
    readfile($file);
            exit;
        } else {
            echo 
    "Файл ".basename($file)." не существует";
        }
    }
     
Статус темы:
Закрыта.