Мне нужна помощь с кодом 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 */ ?
// varchar(255) NOT NULL default ''
Или эта: /* LAALLA */ ?
Спустя 6 минут, 51 секунда (14.02.2011 - 21:35) Alepri написал(а):
Значения для столов в SQL
Но суть моего вопроса - какой командой мне найти username и вписать его в столбец users ?
Но суть моего вопроса - какой командой мне найти username и вписать его в столбец users ?
Спустя 52 минуты, 36 секунд (14.02.2011 - 22:28) Invis1ble написал(а):
Alepri
Цитата |
Значения для столов в SQL |
каких еще столов?
это комментарии в php-коде. Никакой смысловой нагрузки для интерпретатора не несет
Спустя 1 час, 29 минут, 11 секунд (14.02.2011 - 23:57) Alepri написал(а):
Ребят, ну что вы до фигни всякой цепляетесь
я и так знаю, что /*тра-ла-ла/ означает.
Не хотите помочь - так и пишите !
я и так знаю, что /*тра-ла-ла/ означает.
Не хотите помочь - так и пишите !
Спустя 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
А писать за меня не надо, этого я здесь не прошу.
я обращаю внимание на 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, там тебе подскажут