Joomla組件製做過程 admin.hello_world.php

來源:互聯網
上載者:User
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 ) 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 );
}

?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.