Модераторы: 2man
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите прописать нужную функцию в PHP, Функция для вывода имени пользователя 
:(
    Опции темы
Alepri
Дата 14.2.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.2.2011

Репутация: нет
Всего: нет



Доброго времени суток. 

Мне нужна помощь с кодом PHP одного из компонентов(расширений) Joomla.
PHP я знаю мало, но код могу читать и кое-что модифицировать.

У меня есть компонент, в котором пользователь может добавить URL вебсайта в случае, если еще такого URL не существует в БД.
В админке есть таблица компонента, в которой прописывается новый добавленный URL и с какого IP адреса он был добавлен. Так как этим компонентом, на моем сайте, могут пользоваться только зарегистрированные пользователи, мне нужно знать, кто из пользователей выполнил добавление нового URL,
т.е. username и желательно e-mail (подобно как указывается в таблице User Manager) и прописывался в таблице моего компонента.

Просмотрев код компонента, я нашел следующее:

Построение таблицы в панели администратора:

Код

<?php 
defined('_JEXEC') or die(); 
class Tablefavic_style extends JTable 
{ 
var $id =null; // int(11) NOT NULL auto_increment, 
var $ip = ''; // varchar(255) NOT NULL default '' 
var $url = ''; // varchar(255) NOT NULL default '' 

function __construct(&$db) 
{ 
parent::__construct( '#__favic_style', 'id', $db ); 
} 
}

Я добавил еще одну строку: (не знаю правильно ли значение varchar(255) NOT NULL default)
Код

var $users = ''; // varchar(255) NOT NULL default ''


В следующем файле я нашел функции:
Код

JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'tables'); 
//create an instance of TableName class 
$row = &JTable::getInstance('favic_style', 'table'); 
//use $row to make changes on Table999, these changes is maped to #__999 
/*
var $id =null; // int(11) NOT NULL auto_increment, 
var $ip = ''; // varchar(255) NOT NULL default '' 
var $url = ''; // varchar(255) NOT NULL default '' 
*/

Здесь также добавил:
Код

var $users = ''; // varchar(255) NOT NULL default ''

Далее:
Код

$row->title = $title; 
$row->ip = $this->getClientIp(); 
$row->url = $icon_link_url;

Добавил:
Код

$row->users = $getUser();

Далее следуют функции (пишу только для ориентировки)
Код

/** 
* valid URL 
* 
* @param string $str 
* @return bool 
*/ 
function isExistUrl($str) { 
// $str = $this->standardizeUrl($str); 
$db = JFactory::getDBO(); 
$query = 'SELECT COUNT(*)' 
. ' FROM #__favic_style' 
. ' WHERE `url`='.$db->quote($str) 
; 
$db->setQuery($query); 
$isExist = $db->loadResult(); 
return ($isExist)? true : false; 
}


И дальше я стараюсь прописать нужную функцию для вывода имени пользователя:
Код

$user = JFactory::getUser(); 
return $user->get('username');


Но я не знаю где и как правильно его здесь прикрепить…
Далее этот username должен прописаться в БД таблицы моего компонента (в данном случае jos_favic_style)

Код

Здесь я не знаю какой код прописывать 


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

Заранее благодарен, буду ждать ответа.  smile 

Это сообщение отредактировал(а) Alepri - 14.2.2011, 17:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Joomla | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.