Взлом Uploadify интеграции с плагином Wordpress - PullRequest
1 голос
/ 23 января 2012

Я использую Uploadify с Uploadify Integration Плагин Wordpress , все загруженные файлы отправляются по адресу: wp-content/uploads/year/month/. Как я могу взломать / улучшить плагин, чтобы сделать возможным сохранение файлов по пути с именем зарегистрированного пользователя, чтобы я мог различить, кто их загрузил?

Или, альтернативно, возможно динамически добавить префикс с именем пользователя, вошедшего в систему?

Я прочитал обсуждение по этой ссылке и в соответствии с кодексом Wordpress я могу получить имя пользователя Wordpress с помощью этой функции:

<?php global $current_user;
      get_currentuserinfo();

      echo 'Username: ' . $current_user->user_login ?>

Но я не знаю, как изменить плагин и реализовать это.

Естественно, я уже связался с автором плагина и спросил, но ответов пока нет.

1 Ответ

0 голосов
/ 15 февраля 2012

Я не проверял это, но это может дать вам довольно далеко:

function user_upload_path($path = null) {

    global $current_user;
    get_currentuserinfo();

    $user_path = sanitize_file_name($current_user->user_login);

    return sprintf('%s/uploads/%s', WP_CONTENT_DIR, $user_path);

}
add_filter('pre_option_upload_path', 'user_upload_path');

function user_upload_url_path($path = null) {

    global $current_user;
    get_currentuserinfo();

    $user_path = sanitize_file_name($current_user->user_login);

    return sprintf('%s/uploads/%s', WP_CONTENT_URL, $user_path);

}
add_filter('pre_option_upload_url_path', 'user_upload_url_path');

Я решил эту проблему, добавив фильтры к pre_option_upload_path и pre_option_upload_url_path, добавив, таким образом, имя пользователя в конце пути и URL.

Пока что не проверялось, я не пробовал загружать. Я подтвердил, что wp_content_url() вернет и путь, и URL, содержащий имя пользователя. Я решил поставить имя пользователя до даты, так как это проще всего сделать, но я получаю, что вы можете добиться обратного с помощью фильтра user_upload_dir и некоторого регулярного выражения.

...