Joomla组件制做过程 admin.hello_world.php
admin.hello_world.php
//这个将验证是否由JOOMLA来调用此文件,防止非法直接运行本文件,对于安全性非常重要
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
//数据库查询和设置HTML输出//
/*
开发时间:2007-12-17
开发者:yoshow
Gmail: ruanyu83@gmail.com
URL:http://hi.baidu.com/joomla123
数据库查询和设置HTML输出
*/
//调用以下两文件 class.hello_world.php and admin.hello_world.html.php
require_once($mosConfig_absolute_path."/administrator/components/com_hello_world/class.hello_world.php");
require_once( $mainframe->getPath( 'admin_html' ) );
//建立一个选择开关语句这样假如有一个变量$act 我们将重定义一个新变量$task. 这样$act 将用来实现显示文字的函数中,而$task将被用在保存,删除等。.
switch ($act) {
default:
$task = "showText";
break;
}
//这个开关语句将根据$task来运行所需的函数。
switch ($task) {
case "save":
save( $option );
break;
case "delete":
delete( $option, $id );
break;
case "new":
$id = '';
edit( $option, $id );
break;
case "edit":
save( $option, $id[0] );
break;
case "showText":
showText( $option );
break;
}
//我们的第一个函数,保存我们创建或正在编辑的内容的函数
function save( $option ) {
//声明$database为全局变量
global $database;
//这将定义$row新变量来存储插入到数据库中的信息,$row是class class.hello_world.php文件定义的mosHello_world类的一个实例。
$row = new mosHello_world( $database );
//假如 $row 返回空值,显示错误信息并返回上一个窗口。
if (!$row->bind( $_POST )) {
echo "n";
exit();
}
//假如不能完成对数据库的写操作,将显示错误信息并返回上一个窗口,这仅仅会在数据库出现异常时会出现。
if (!$row->store()) {
echo "n";
exit();
}
//假如一切正常将重定向你的浏览器到主选项窗口,并显示"Saved".
mosRedirect( "index2.php?option=$option", "Saved" );
}
//很多代码可参照前面的解释,这里不再赘述。
function edit( $option, $uid ) {
global $database;
$row = new mosHello_world( $database );
//定义了$row后并声明它为mosHello_world类,装载$uid相关的数据. $uid是我们想编辑的内容的$id的值
$row->load( $uid );
//将$row 传递到admin.hello_world.html.php 显示。
HTML_hello_world::edit( $option, $row );
}
function delete( $option, $cid ) {
global $database;
//这将检验是否有删除对象,如为空将显示提示信息并返回上一个窗口。
if (!is_array( $cid ) || count( $cid ) < 1) {
echo "n";
exit;
}
//这将检验$cid (存储所有欲删除的对象的$id值的数列)是否为空,如果不为空它将创建一个以逗号为分隔符的所有id的列表并存储在字符串$cids然后根据相应的id进行删除操作,如果操作出错将返回上一个窗口。
if (count( $cid )) {
$cids = implode( ',', $cid );
$database->setQuery( "DELETE FROM jos_hello_world WHERE id IN ($cids)" );
if (!$database->query()) {
echo "n";
}
}
mosRedirect( "index2.php?option=$option" );
}
//这是我们的主输出函数,将创建我们要输出的文字的列表,解释参照前面所述。
function showText($option) {
global $database;
# Do the main database query
$database->setQuery( "SELECT * FROM jos_hello_world ORDER BY id" );
$rows = $database->loadObjectList();
if ($database->getErrorNum()) {
echo $database->stderr();
return false;
}
HTML_hello_world::showText( $option, $rows );
}
?>
//这个将验证是否由JOOMLA来调用此文件,防止非法直接运行本文件,对于安全性非常重要
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
//数据库查询和设置HTML输出//
/*
开发时间:2007-12-17
开发者:yoshow
Gmail: ruanyu83@gmail.com
URL:http://hi.baidu.com/joomla123
数据库查询和设置HTML输出
*/
//调用以下两文件 class.hello_world.php and admin.hello_world.html.php
require_once($mosConfig_absolute_path."/administrator/components/com_hello_world/class.hello_world.php");
require_once( $mainframe->getPath( 'admin_html' ) );
//建立一个选择开关语句这样假如有一个变量$act 我们将重定义一个新变量$task. 这样$act 将用来实现显示文字的函数中,而$task将被用在保存,删除等。.
switch ($act) {
default:
$task = "showText";
break;
}
//这个开关语句将根据$task来运行所需的函数。
switch ($task) {
case "save":
save( $option );
break;
case "delete":
delete( $option, $id );
break;
case "new":
$id = '';
edit( $option, $id );
break;
case "edit":
save( $option, $id[0] );
break;
case "showText":
showText( $option );
break;
}
//我们的第一个函数,保存我们创建或正在编辑的内容的函数
function save( $option ) {
//声明$database为全局变量
global $database;
//这将定义$row新变量来存储插入到数据库中的信息,$row是class class.hello_world.php文件定义的mosHello_world类的一个实例。
$row = new mosHello_world( $database );
//假如 $row 返回空值,显示错误信息并返回上一个窗口。
if (!$row->bind( $_POST )) {
echo "n";
exit();
}
//假如不能完成对数据库的写操作,将显示错误信息并返回上一个窗口,这仅仅会在数据库出现异常时会出现。
if (!$row->store()) {
echo "n";
exit();
}
//假如一切正常将重定向你的浏览器到主选项窗口,并显示"Saved".
mosRedirect( "index2.php?option=$option", "Saved" );
}
//很多代码可参照前面的解释,这里不再赘述。
function edit( $option, $uid ) {
global $database;
$row = new mosHello_world( $database );
//定义了$row后并声明它为mosHello_world类,装载$uid相关的数据. $uid是我们想编辑的内容的$id的值
$row->load( $uid );
//将$row 传递到admin.hello_world.html.php 显示。
HTML_hello_world::edit( $option, $row );
}
function delete( $option, $cid ) {
global $database;
//这将检验是否有删除对象,如为空将显示提示信息并返回上一个窗口。
if (!is_array( $cid ) || count( $cid ) < 1) {
echo "n";
exit;
}
//这将检验$cid (存储所有欲删除的对象的$id值的数列)是否为空,如果不为空它将创建一个以逗号为分隔符的所有id的列表并存储在字符串$cids然后根据相应的id进行删除操作,如果操作出错将返回上一个窗口。
if (count( $cid )) {
$cids = implode( ',', $cid );
$database->setQuery( "DELETE FROM jos_hello_world WHERE id IN ($cids)" );
if (!$database->query()) {
echo "n";
}
}
mosRedirect( "index2.php?option=$option" );
}
//这是我们的主输出函数,将创建我们要输出的文字的列表,解释参照前面所述。
function showText($option) {
global $database;
# Do the main database query
$database->setQuery( "SELECT * FROM jos_hello_world ORDER BY id" );
$rows = $database->loadObjectList();
if ($database->getErrorNum()) {
echo $database->stderr();
return false;
}
HTML_hello_world::showText( $option, $rows );
}
?>
-*- 此文章为本人发呆时 ctrl+c , ctrl+v 的结果. 如果损害到您的利益, 可以联系我 QQ: 248078462 -*-