Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 2836 Просмотров
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
взять имя текущего юзера  и создать папку для загрузок с таким названием
как реализовать?

в плагин редактора нужно записать код, который персонализирует директорию загрузок (для каждого пользователя отдельная с иным именем). кажется в JCE есть подобное.
фактически, достаточно только записать имя в переменную.. но откуда его взять в стороннем php коде?
« Последнее редактирование: 10.05.2013, 11:23:24 от Barabashka »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
если плагин редактора для Joomla то скорее всего он вызывается из под Joomla и API можно юзать
echo JFactory::getUser()->username;
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
спасибо, друг!. в другой теме меня не слышат вообще

использую CKEditor  http://cksource.com/ckeditor в котором в качестве файлового менеджера используется CKFinder  http://cksource.com/ckfinder..

там в конфиге есть строчки
Код
$config['ResourceType'][] = Array(
'name' => 'Files', // Single quotes not allowed
'url' => $baseUrl . 'files',
'directory' => $baseDir . 'files',
где 2 последние  указывают на директорию mydomain.com\ckfinder\userfiles\files

изучив код, понял что достаточно дополнить код до этого
Код
$config['ResourceType'][] = Array(
'name' => 'Files', // Single quotes not allowed
'url' => $baseUrl . 'files' . $username,
'directory' => $baseDir . 'files' . $username,
а в $username вписать имя текущего пользователя

для этого я прямо в код вставляю такие строки (находил много вариантов в поисковике, остановился на этом)
Код
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__));
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_PLATFORM', JPATH_BASE . '/libraries');
define('JPATH_MYWEBAPP',JPATH_BASE);
// подключаем необходимый минимум
require_once JPATH_PLATFORM.'/import.php';
// И еще кое-что в помощь
jimport('joomla.environment.uri');
jimport('joomla.utilities.date');
//Задаем конфигурацию
jimport('joomla.application.helper');
$client = new stdClass;
$client->name = 'mywebapp';
$client->path = JPATH_MYWEBAPP;
JApplicationHelper::addClientInfo($client);
// Получаем инстанс JApplication
$config = Array ('session'=>false);
$app = JFactory::getApplication('mywebapp', $config);


/* Создание приложения на базе основного класса JFactory*/
$mainframe =& JFactory::getApplication('site');
/* Проверка глобального статуса текущего пользователя. Логический 0 - гость*/
if (JFactory::getUser()->id == 0)
die("Для просмотра этой информации необходимо пройти авторизацию/регистрацию на сайте.");

$user =& JFactory::getUser();
$username = $user->username;

запустил, получил ошибки
Цитировать

Warning: require_once(R:\home\12\www\plugins\editors\ckeditor\ckfinder/libraries/import.php) [function.require-once]: failed to open stream: No such file or directory in R:\home\12\www\plugins\editors\ckeditor\ckfinder\config.php on line 202

Fatal error: require_once() [function.require]: Failed opening required 'R:\home\12\www\plugins\editors\ckeditor\ckfinder/libraries/import.php' (include_path='.;C:\php\pear') in R:\home\12\www\plugins\editors\ckeditor\ckfinder\config.php on line 202

что упускаю или делаю не так?
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
directory' => $baseDir . 'files' . $username,
неправильно! сшел же ещё надо!
directory' => $baseDir . 'files/' . $username,
и редактор это плагин для Joomla? есла да то вам не надо подключать платформу!
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
я понимаю, что без слеша будет не в папке files создавать, а создасть папку filesmyusername в корневой. но это не столь важно мне сейчас

редактор - выпускается как компонент для Joomla, который устанавливаясь одновременно создает  плагин редактора
(тоесть в сомпонентс имеем сом_скедитор и в плагинс/едиторс - скедитор..)

понимаю вашу логику, но когда просто прописываю
Код
 
$user =& JFactory::getUser();
$username = $user->username;
получаю ошибку, что "клас JFactory не найден"
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
Вы были абсолютно правы, прошу прощения за дезинформацию.  в папке плагина есть файл config_joomla.php
где платформа уже подключена.. только появилась новая проблема:

прописал уже там
Код
$user =& JFactory::getUser();
$username = $user->username;
$username = '/'.$username;
и дополнил строчку
Код
'url' => ($baseUrl . 'files'.$username,
но открило папку files а не files/myusermname (не создало новой)

что интересно  строка $username = '/4';
если написать в config.php создает папку 4, а если в config_joomla.php, то нет
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
привожу весь код конфига плагина, если вы про это
Спойлер
[свернуть]

но наверное он уже не пригодится. .
прочитал краткую инструкцию к config_joomla.php, удалил config.php
переименовал config_joomla.php в config.php

нашел в ckeditor.php (что в корневой редактора) вот такие строки (где-то на 400 строке). думаю, что это оно
но уже сам не правил, подожду ответа
Спойлер
[свернуть]

привожу на всякий случай весь код ckeditor.php
Спойлер
[свернуть]
« Последнее редактирование: 09.05.2013, 23:18:25 от Barabashka »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
папка mydomain.com/media/images
или ../media/files

в процессе поисков решения у меня как -то создались папки в корневой mediaimages/myusername и даже тестовое изображение там оказалось, но так как в диалоговом окне файлового менеджера постоянно отрывало одно и тоже, я не успел виследить когда именно
*

Barabashka

  • Захожу иногда
  • 64
  • 0 / 0
  • Son of Sky
очень стыдно, что поднял такую бучу из-за простого вопроса.. (

в настройках компонента во вкладке File Browser settings есть поля Images path, Files path и т.д. где в подсказке и предлагается вводить $username, $id, $usertype, что я и когда-то сделал, но не получил результата, так как конфиг не был вручную заменен конфигом Joomla. .
сейчас я вписал в поле media/images/$username и редактор автоматически создал нужную папку. Спасибо большое всем за отзывы и терпеливость
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как правильно записать дату создания записи в БД?

Автор ImPuLsE

Ответов: 13
Просмотров: 2780
Последний ответ 11.09.2019, 22:58:57
от sev07
Узнать название группы залогинившегося\нет пользователя Joomla 3.5

Автор paladdin

Ответов: 4
Просмотров: 1121
Последний ответ 29.03.2016, 21:43:41
от b2z
Вывод данных из MySQL в зависимости от авторизованного пользователя

Автор lopata12

Ответов: 6
Просмотров: 1417
Последний ответ 21.02.2015, 21:09:33
от lopata12
ОбЪявить переменную в модуле

Автор jservice

Ответов: 38
Просмотров: 2224
Последний ответ 29.12.2014, 11:56:04
от Aleks.Denezh
Как узнать ID текущего модуля?

Автор vita1971

Ответов: 1
Просмотров: 1612
Последний ответ 09.09.2014, 13:31:57
от vita1971