[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите прописать нужную функцию в PHP
Alepri
Доброго времени суток.

Мне нужна помощь с кодом 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)
Здесь я не знаю какой код прописывать 


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

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



Спустя 3 минуты, 25 секунд (14.02.2011 - 21:29) inpost написал(а):
Ты знаешь, что значит эта строчка:
// varchar(255) NOT NULL default ''
Или эта: /* LAALLA */ ?

Спустя 6 минут, 51 секунда (14.02.2011 - 21:35) Alepri написал(а):
Значения для столов в SQL

Но суть моего вопроса - какой командой мне найти username и вписать его в столбец users ?

Спустя 52 минуты, 36 секунд (14.02.2011 - 22:28) Invis1ble написал(а):
Alepri
Цитата
Значения для столов в SQL

каких еще столов? laugh.gif
это комментарии в php-коде. Никакой смысловой нагрузки для интерпретатора не несет

Спустя 1 час, 29 минут, 11 секунд (14.02.2011 - 23:57) Alepri написал(а):
Ребят, ну что вы до фигни всякой цепляетесь mad.gif
я и так знаю, что /*тра-ла-ла/ означает.

Не хотите помочь - так и пишите !

Спустя 9 минут, 41 секунда (15.02.2011 - 00:07) inpost написал(а):
Alepri
это всё говорит о том, что тебе ещё рано править сложные сайты. За тебя делать не хочу, как совет: почитай Котерова, хотя бы основы выучишь =)

Спустя 1 минута, 30 секунд (15.02.2011 - 00:08) Invis1ble написал(а):
Alepri
Цитата
Ребят, ну что вы до фигни всякой цепляетесь

да это не фигня
просто ты пишешь
Цитата
Я добавил еще одну строку: (не знаю правильно ли значение varchar(255) NOT NULL default)
var $users = ''; // varchar(255) NOT NULL default ''

а тебе намекают, что строка varchar(255) NOT NULL default не имеет значения, так как это всего лишь комментарий

Спустя 8 минут, 38 секунд (15.02.2011 - 00:17) Alepri написал(а):
Лаадно, это тоже самое если бы я у вас спросил "а вы хоть знаете что такое Joomla"?

я обращаю внимание на varchar(255) потому, что в БД _favic_style я дописываю еще один столбец и не знаю или значение 255 - правильно, потому что в БД _users столбика username стоит значение 150

А писать за меня не надо, этого я здесь не прошу.

Спустя 15 часов, 28 минут (15.02.2011 - 15:45) Alepri написал(а):
В общем, я так понял здесь форум не программистов а каких-то умников...
//*которые только ТЫкать умеют*/

;)

Спустя 3 часа, 58 минут, 36 секунд (15.02.2011 - 19:44) Invis1ble написал(а):
Alepri
Цитата
здесь форум не программистов а каких-то умников

поэтому иди на pyha.ru, там тебе подскажут wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.