Войдите или зарегистрируйтесь для скачивания файла. Как?

Главные вкладки

Аватар пользователя aa2ndrew@drupal.org aa2ndrew@drupal.org 26 марта 2009 в 0:02

Привет всем. Может кто знает ответ на мой вопрос. Пользуюсь модулем Upload, все в нем устраивает, кроме одного. Если поставить в правах не смотреть прикрепленные файлы для анонимов, то анонимы просто не знают, что такой файл есть. Как можно сделать так, чтобы когда аноним заходит в новость, чтобы ему выдавалась информация, типа войдите или зарегистрируйтесь для скачивания файла?
Заранее спасибо.

Комментарии

Аватар пользователя penexe penexe 26 марта 2009 в 0:17

нужно изменить вывод файлов? окей открываем файл upload.module и 581 строка видим функцию

<?php
function theme_upload_attachments($files) {
  
$header = array(t('Attachment'), t('Size'));
  
$rows = array();
  foreach (
$files as $file) {
    
$file = (object)$file;
    if (
$file->list && !$file->remove) {
      
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
      
$href file_create_url((strpos($file->fid'upload') === FALSE $file->filepath file_create_filename($file->filenamefile_create_path())));
      
$text $file->description $file->description $file->filename;
      
$rows[] = array(l($text$href), format_size($file->filesize));
    }
  }
  if (
count($rows)) {
    return 
theme('table'$header$rows, array('id' => 'attachments'));
  }
}
?>

далее копируем её и вставляем в файл template.php вашей темы
далее делаем небольшие изменения

<?php
function имя_темы_upload_attachments($files) { // имя темы сменить на свое )
  
$header = array(t('Attachment'), t('Size'));
  
$rows = array();
  foreach (
$files as $file) {
    
$file = (object)$file;
    if (
$file->list && !$file->remove) {
      
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
      
$href file_create_url((strpos($file->fid'upload') === FALSE $file->filepath file_create_filename($file->filenamefile_create_path())));
      
$text $file->description $file->description $file->filename;
      
$rows[] = array(l($text$href), format_size($file->filesize));
    }
  }
  if (
count($rows)) {
    global 
$user
    if(
$user->uid) { // проверка на авторизацию
      
return theme('table'$header$rows, array('id' => 'attachments'));
    } else {
// выводим наш текст
      
return t('<a href="login">Login</a> or <a href="register">register</a> to download files', array('login=> url('user/login'$destination), 'register=> url('user/register'$destination))); 
    }
  }
}
?>
Аватар пользователя aa2ndrew@drupal.org aa2ndrew@drupal.org 26 марта 2009 в 1:02

Я по разному пробовал. И вводил название темы, и без названия, и как то по своему. Результата нету.
Если у меня тема barlow, то мне надо вводить название функции function barlow_upload_attachments. Или я полный идиот))

Аватар пользователя halka halka 26 мая 2009 в 7:17

Андрей, если задача Вами решена, пожалуйста, отпишите здесь, чтобы не изобретать велосипед по-новой изакрыть тему. СПасибо.

Аватар пользователя aa2ndrew@drupal.org aa2ndrew@drupal.org 6 июня 2009 в 14:01

Проблема была реше совсем другим образом. Я не смог сделать через php. Пошел другим путем. Ссылки стал вставлять в текст, который не показывается для гостей.

Аватар пользователя ornuantock ornuantock 4 февраля 2012 в 14:40

<a href="mailto:aa2ndrew@drupal.org">aa2ndrew@drupal.org</a> wrote:
Привет всем. Может кто знает ответ на мой вопрос. Пользуюсь модулем Upload, все в нем устраивает, кроме одного. Если поставить в правах не смотреть прикрепленные файлы для анонимов, то анонимы просто не знают, что такой файл есть. Как можно сделать так, чтобы когда аноним заходит в новость, чтобы ему выдавалась информация, типа войдите или зарегистрируйтесь для скачивания файла?
Заранее спасибо.

Аватар пользователя nighrelsmar nighrelsmar 7 февраля 2012 в 18:01

<a href="mailto:aa2ndrew@drupal.org">aa2ndrew@drupal.org</a> wrote:
Привет всем. Может кто знает ответ на мой вопрос. Пользуюсь модулем Upload, все в нем устраивает, кроме одного. Если поставить в правах не смотреть прикрепленные файлы для анонимов, то анонимы просто не знают, что такой файл есть. Как можно сделать так, чтобы когда аноним заходит в новость, чтобы ему выдавалась информация, типа войдите или зарегистрируйтесь для скачивания файла?
Заранее спасибо.

Аватар пользователя nighrelsmar nighrelsmar 7 февраля 2012 в 18:02

Информация в сети, естественно, бывает разнообразной, однако люди зачастую просто не могут по достоинству оценить предложенный материал, понять всю глубину, красочность мысли атора. Отсюда вывод - желательно инфо делать проще, как у вас.

Аватар пользователя unlino unlino 8 марта 2012 в 21:14

<a href="mailto:aa2ndrew@drupal.org">aa2ndrew@drupal.org</a> wrote:
Привет всем. Может кто знает ответ на мой вопрос. Пользуюсь модулем Upload, все в нем устраивает, кроме одного. Если поставить в правах не смотреть прикрепленные файлы для анонимов, то анонимы просто не знают, что такой файл есть. Как можно сделать так, чтобы когда аноним заходит в новость, чтобы ему выдавалась информация, типа войдите или зарегистрируйтесь для скачивания файла?
Заранее спасибо.