intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình Joomla! 1.5-Chương 3: Xây dng Book controller

Chia sẻ: Pham Long | Ngày: | Loại File: PDF | Số trang:23

94
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

1. Xác nh các chức nang (task) trong Category 2. Xây dựng h thng hàm x lý các chc nang c a Category 3. Xây dng chc nang hi n th category (task: show) 4. ang ký các chc nang x lý trong Controller 5. Xây dng chc nang publish & unpublish category (task: publish – unpublish) 6. Xây dng chc nang delete (task: remove) 7. Xây dng chc nang thêm m t category (task: add – save) 8. Xây dng chc nang h y nhim v (task: cancel) 9. Xây dng chc nang chnh sa m t category (task: edit – save - apply...

Chủ đề:
Lưu

Nội dung Text: Lập trình Joomla! 1.5-Chương 3: Xây dng Book controller

  1. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn Joomla! Programming Book shopping component Chương 3: Xây d ng Book controller 1. Xác nh các ch c năng (task) trong Category 2. Xây d ng h th ng hàm x lý các ch c năng c a Category 3. Xây d ng ch c năng hi n th category (task: show) 4. ăng ký các ch c năng x lý trong Controller 5. Xây d ng ch c năng publish & unpublish category (task: publish – unpublish) 6. Xây d ng ch c năng delete (task: remove) 7. Xây d ng ch c năng thêm m t category (task: add – save) 8. Xây d ng ch c năng h y nhi m v (task: cancel) 9. Xây d ng ch c năng ch nh s a m t category (task: edit – save - apply ) Giáo trình: Joomla! Programming Chuyên : Book shopping component Biên so n: Ph m Vũ Khánh Email: vukhanh2212@gmail.com i n tho i: 0908.893326 Website: www.zend.vn Tháng 08-2010 1 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  2. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn 1. Xác nh task trong BookControllerCategory class Task V n x lý show Hi n th các book category. Trong quá trình hi n th s có nhi u cách hi n th khác nhau như: - Hi n th theo chi u c a các c t (t A-Z và ngư c l i) - Hi n th theo t khóa tìm ki m - Hi n th theo s lư ng Category trên m t trang - Hi n th theo tr ng thái publish ho c unpublish add T o Form nh p category m i edit T o Form ch a thông tin c a category mu n ch nh s a save Lưu d li u vào database apply Lưu d li u vào database và quay l i Form unpublish Không cho category hi n th ngoài Front-End publish Cho phép category hi n th ngoài Front-End cancel T m hoãn m t task nào ó remove Xóa b m t ho c nhi u Category trong database 2. Xây d ng h th ng function cho BookControllerCategory class
  3. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn function remove(){ echo __FUNCTION__ . ' in ' . __CLASS__; } } ?> 3. Xây d ng năng hi n th sách (task: show) xây d ng ch c năng này chúng ta c n th c hi n nh ng công vi c sau: - Xây d ng VIEW cho ch c năng show - Xây d ng h th ng nút nh n cho ch c năng show - L y d li u t database hi n th theo các ki u: o Hi n th theo t khóa tìm ki m o Hi n th danh sách theo giá tr c a các c t trong câu truy v n o Hi n th theo tr ng thái publish ho c unpublish o Hi n th theo Book category - H th ng phân trang cho danh sách các cu n sách. a. Xây d ng VIEW cho ch c năng show() T o t p tin book.php trong thư m c /com_book/views. T p tin này tương ng v i category controller c a component. T p tin có n i dung như sau: class BookViewBook{ function show(){ echo '' . __FUNCTION__ . ' in ' . __CLASS__; } } T o m t t p tin template có tên show.php tương ng v i hàm show() trong l p BookViewBook trong thư m c /com_book/views/templates/book v i n i dung: echo ' template of show() in VIEW'; Nhúng t p tin VIEW và t p tin CONTROLLER. M t p tin book.php trong thư m c /administrator/components/com_book/controllers thêm vào n i dung sau:
  4. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn function show(){ echo __FUNCTION__ . ' in ' . __CLASS__; BookViewCategory::show(); } b. Xây d ng h th ng nút nh n cho ch c năng show (H003-b1) M t p tin book.php trong thư m c /administrator/components/com_book/views. Thêm vào hàm setBookManagerToolBar() v i n i dung như sau: function setBookManagerToolBar(){ JToolBarHelper::title( JText::_('Book manager'), 'generic.png' ); JToolBarHelper::publishList(); JToolBarHelper::unpublishList(); JToolBarHelper::deleteList(); JToolBarHelper::editListX(); JToolBarHelper::addNewX(); } Sau ó s a hàm show() trên t p tin này thành: function show(){ BookViewBook:: setBookManagerToolBar(); } Vào ch y th chúng ta s có giao di n như hình H003-b1 h th ng nút v a t o ra có th ho t ng ư c chúng ta c n xây d ng m t t p tin show.php trong thư m c /com_book/views/templates/book có n i dung như sau: Chú ý: Cách t tên Form và 4 t p tin input n Nhúng template vào VIEW. nhúng t p tin show.php v a t o vào hàm show() c a l p BookViewBook chúng ta c n s a l i t p tin book.php trong thư m c /com_book/views/ như sau: 4 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  5. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn define('TEMPLATE_VIEW',JPATH_COMPONENT.DS.'views'.DS.'templates'.DS.'book'); class BookViewBook{ function show(){ BookViewBook::setBookManagerToolBar(); require_once( TEMPLATE_VIEW.DS.'show.php'); } } Sau ó nh n nút New th xem các nút ã ho t ng chưa. c. Hi n th danh sách category T o lư i hi n th d li u danh sách các Category. c.1: T o dòng tiêu cho lư i M t p tin show.php trong thư m c /com_book/views/templates/book thêm vào n i dung như sau: # Title Published Public date Created Date Created by Modified Date Modified by Hits ID 5 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  6. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn c.2: L y t t c các category trong database M t p tin book.php trong thư m c /com_book/controllers s a hàm show() thành: function show(){ global $mainframe; $db = & JFactory::getDBO(); $query = 'SELECT b.*, u1.name as postName, u2.name as modifyName FROM #__book as b LEFT JOIN #__users as u1 ON b.created_by = u1.id LEFT JOIN #__users as u2 ON b.modified_by = u2.id'; $db->setQuery($query); $rows = $db->loadObjectList(); BookViewBook::show(); } c.3: Truy n giá tr c a câu truy v n ra ngoài VIEW và Template M t p tin Book.php trong thư m c /com_book/ views s a hàm show() thành: function show($rows){ BookViewBook::setBookBookToolBar(); require_once( TEMPLATE_VIEW. DS .'show.php' ); } M t p tin Book.php trong thư m c /com_book/controllers s a hàm show() thành: function show(){ //Code cũ ... BookViewBook::show($rows); } Hi n th giá tr ngoài t p tin template. M t p tin show.php trong thư m c /com_book/views/templates/book thêm vào n i dung như sau: //Code cũ … 6 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  7. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn #
  8. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn //Code cũ… M t p tin Book.php trong thư m c /com_book/controllers s a hàm show() thành: function show(){ global $mainframe; //Tao cau truy van cho phan search $search = JRequest::getVar( 'search', ''); if(trim($search) != ''){ $where = " where LOWER(b.title) LIKE '%". strtolower ($search) . "%'"; } $db = & JFactory::getDBO(); $query = 'SELECT b.*, u1.name as postName, u2.name as modifyName FROM #__book as b LEFT JOIN #__users as u1 ON b.created_by = u1.id LEFT JOIN #__users as u2 ON b.modified_by = u2.id' . $where; $db->setQuery($query); $rows = $db->loadObjectList(); //T o m ng giá tr truy n ra l i VIEW $lists = array(); $lists['search'] = $search; BookViewBook::show($rows,$lists); } M t p tin book.php trong thư m c /com_book/ views s a hàm show() thành: function show($rows,$lists){ BookViewBook::setBookBookToolBar(); require_once( TEMPLATE_VIEW. DS .'show.php' ); } c.5: Hi n th danh sách theo giá tr c a các c t trong câu truy v n M t p tin book.php trong thư m c /com_book /views s a hàm show() thành: function show($rows,$lists){ BookViewBook::setBookBookToolBar(); //Tao cac link sap xep theo cac cot 8 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  9. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn $sortTitle = JHTML::_('grid.sort', JText::_('Title'), 'b.title', $lists['filter_order_Dir'],$lists['filter_order']); $sortPublished = JHTML::_('grid.sort', JText::_('Published'), 'b.published', $lists['filter_order_Dir'],$lists['filter_order']); $sortPublishDate = JHTML::_('grid.sort', JText::_('Public date'), 'b.publish_date', $lists['filter_order_Dir'],$lists['filter_order']); $sortCreatedDate = JHTML::_('grid.sort', JText::_('Created Date'), 'b.created_date', $lists['filter_order_Dir'],$lists['filter_order']); $sortCreatedBy = JHTML::_('grid.sort', JText::_('Created by'), 'postName', $lists['filter_order_Dir'],$lists['filter_order']); $sortModifiedDate = JHTML::_('grid.sort', JText::_('Modified Date'), 'b.modified_date', $lists['filter_order_Dir'],$lists['filter_order'] ); $sortModifiedBy = JHTML::_('grid.sort', JText::_('Modified By'), 'modifyName',$lists['filter_order_Dir'],$lists['filter_order'] ); $sortHits = JHTML::_('grid.sort', JText::_('Hits'), 'b.hits', $lists['filter_order_Dir'],$lists['filter_order']); $sortID = JHTML::_('grid.sort', JText::_('ID'), 'b.id',$lists['filter_order_Dir'],$lists['filter_order']); require_once( TEMPLATE_VIEW.DS.'show.php'); } Hi n th giá tr ngoài t p tin template. M t p tin show.php trong thư m c /com_book/views/templates/category s a thành: //Code cũ .. . #
  10. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn $filter_order_Dir = JRequest::getVar( 'filter_order_Dir', 'desc'); $order = ' ORDER BY ' . $filter_order . ' ' .$filter_order_Dir; $db = & JFactory::getDBO(); $query = 'SELECT b.*, u1.name as postName, u2.name as modifyName FROM #__book as b LEFT JOIN #__users as u1 ON b.created_by = u1.id LEFT JOIN #__users as u2 ON b.modified_by = u2.id' . $where . $order; $db->setQuery($query); $rows = $db->loadObjectList(); //T o m ng giá tr truy n ra l i VIEW $lists = array(); $lists['search'] = $search; $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; BookViewBook::show($rows,$lists); } c.6: Hi n th phân trang M t p tin Book.php trong thư m c /com_book/controllers s a hàm show() thành: function show(){ global $mainframe; //Code cũ . . . //Tao cau truy van cho tao phan trang $limit = JRequest::getVar('limit',$mainframe->getCfg('list_limit')); $limitstart = JRequest::getVar('limitstart',0); $limitSQL = ' LIMIT ' . $limitstart . ',' . $limit; $db = & JFactory::getDBO(); $query = 'SELECT b.*, u1.name as postName, u2.name as modifyName FROM #__book as b LEFT JOIN #__users as u1 ON b.created_by = u1.id LEFT JOIN #__users as u2 ON b.modified_by = u2.id' . $where . $order . $limitSQL; //Code cũ . . . //Tinh tong so record co trong bang $sql_1 = 'SELECT COUNT(*) FROM #__book as b ' . $where; $db->setQuery( $sql_1 ); $total = $db->loadResult(); //Goi class phan trang jimport('joomla.html.pagination'); $pageNav = new JPagination( $total, $limitstart, $limit); //Code cũ … BookViewBook::show($rows,$lists,$pageNav); } 10 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  11. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn M t p tin book.php trong thư m c /com_book/ views s a hàm show() thành: function show($rows,$lists,$pageNav){ BookViewBook::setBookBookToolBar(); //Code cũ ... require_once( TEMPLATE_VIEW.DS.'show.php'); } Hi n th giá tr ngoài t p tin template. M t p tin show.php trong thư m c /com_book/views/templates/book s a thành: //Code cũ … //Code cũ … c.7: Hi n th theo tr ng thái publish ho c unpublish M t p tin Book.php trong thư m c /com_book/controllers s a hàm show() thành: function show() { global $mainframe; //Tao cau truy van cho phan search $search = JRequest::getVar('search', ''); if (trim($search) != '') { $where[] = " where LOWER(b.title) LIKE '%" . strtolower($search) . "%'"; } $filter_state = JRequest::getVar('filter_state', ''); if ($filter_state) { if ($filter_state == 'P') { $where[] = 'b.published = 1'; } else if ($filter_state == 'U') { $where[] = b.published = 0'; 11 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  12. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn } } $where = count($where) ? ' WHERE ' . implode(' AND ', $where) : ''; //Code cũ … $lists['order'] = $filter_order; $lists['state'] = JHTML::_('grid.state', $filter_state); BookViewCategory::show($rows, $lists, $pageNav); } Hi n th giá tr ngoài t p tin template. M t p tin show.php trong thư m c /com_book/views/templates/book s a thành:
  13. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn $categories[] = JHTML::_('select.option', '0', JText::_('Select a Category'),'value', 'text'); $categories = @array_merge($categories, $result); $lists['catid'] = JHTML::_('select.genericlist', $categories, 'catid','class="inputbox" size="1" onChange="javascript:submitform();"', 'value', 'text', $catid); Hi n th giá tr ngoài t p tin template. M t p tin show.php trong thư m c /com_book/views/templates/book s a thành:
  14. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn M t p tin Book.php trong thư m c /com_book/controllers s a hàm changeStatus() thành: function changStatus() { global $mainframe; $task = $this->getTask(); if ($task == 'unpublish') { $state = 0; } else { $state = 1; } //Goi DBO de tuong tac voi CSDL $db = & JFactory::getDBO(); //Lay gia tri id cua cac Item can thay trang thai $cid = JRequest::getVar('cid', array()); if (count($cid) > 0) { //Chuyen mang ID thanh mot chuoi $cids = implode(',', $cid); // Tao cau SQL de cap nhat trang cho Item $query = 'UPDATE #__book' . ' SET published = ' . (int) $state . ' WHERE id IN ( ' . $cids . ' )'; $db->setQuery($query); if (!$db->query()) { JError::raiseError(500, $db->getErrorMsg()); } } $mainframe->redirect('index.php?option=com_book&c=Book'); } 6. Xây d ng ch c năng delete (task: remove) 14 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  15. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn M t p tin Book.php trong thư m c /com_book/controllers s a hàm remove() thành: function remove() { global $mainframe; $cid = JRequest::getVar('cid'); $db = & JFactory::getDBO(); if (count($cid) > 0) { $cids = implode(',', $cid); $query = 'DELETE FROM #__book WHERE id IN ( ' . $cids . ' )'; $db->setQuery($query); if (!$db->query()) { JError::raiseError(500, $db->getErrorMsg()); } } $mainframe->redirect('index.php?option=com_book&c=Book'); } 7. Xây d ng ch c năng thêm m t category (task: add – save) xây d ng ch c năng này chúng ta c n th c hi n nh ng công vi c sau: - Xây d ng h th ng nút nh n - Xây d ng FORM nh p li u - Ki m tra d li u trong FORM này b ng javascript - Lưu d li u vào database - Upload và Resize t p tin hình nh ư c t i lên a. Xây d ng h th ng nút nh n M t p tin book.php trong thư m c /com_book/views thêm vào hàm setBookToolBar() v i n i dung sau: function setBookToolBar() { 15 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  16. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn $task = JRequest::getVar('task', '', 'method', 'string'); if ($task == 'add') { JToolBarHelper::title(JText::_('Book manager') . ': [ ' . JText::_('New') . ' ]', 'generic.png'); } else { JToolBarHelper::title(JText::_('Book manager') . ': [ ' . JText::_('Edit') . ' ]', 'generic.png'); } JToolBarHelper::save('save'); JToolBarHelper::apply('apply'); JToolBarHelper::cancel('cancel'); } M t p tin book.php trong thư m c /com_book/views thêm vào hàm add() v i n i dung sau: function add(){ BookViewBook::setBookToolBar(); } M t p tin Book.php trong thư m c /com_book/controllers s a hàm add() thành: function add() { JRequest::setVar('hidemainmenu', 1); BookViewBook::add(); } b. Xây d ng FORM nh p li u ưa danh sách các category vào selectbox. M t p tin Book.php trong thư m c /com_book/controllers s a hàm add() thành: function add() { JRequest::setVar('hidemainmenu', 1); $db =& JFactory::getDBO(); // List Category $query = 'SELECT c.id AS value, c.category AS text' . ' FROM #__book_category AS c' . ' ORDER BY c.ordering'; $db->setQuery($query); $result = $db->loadObjectList(); $categories[] = JHTML::_('select.option', '0', JText::_('Select a Category'), 'value', 'text'); $categories = @array_merge($categories, $result); $lists['category_id'] = JHTML::_('select.genericlist',$categories, 'category_id', 'class="inputbox" size="1"', 'value', 'text', 0 ); BookViewBook::add($lists); } 16 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  17. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn M t p tin book.php trong thư m c /com_book/views thêm vào hàm add() v i n i dung sau: function add($lists) { BookViewBook::setBookToolBar(); //Tao Category selectbox $catid = $lists['category_id']; // Tao calendar JHTML::_('behavior.calendar'); echo JHTML::script('calendar.js', JURI::base() . '/includes/js/calendar/'); echo JHTML::script('calendar-en.js', JURI::base() . '/includes/js/calendar/lang/'); //Tao editor $editor = & JFactory::getEditor(); $synopsis = $editor->display('synopsis', '', '100%', '200', '40', '4'); $content = $editor->display('content', '', '100%', '300', '40', '6'); //Tao nhom radio public & unpublic $published = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', 0, 'Publish', 'Unpublish'); require_once( TEMPLATE_VIEW . DS . 'add.php'); } T o t p tin add.php trong thư m c /com_book/views/templates/category/ v i n i dung: Category Title Picture Author Publisher 17 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  18. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn Publish Date synopsis Content Published? c. Ki m tra d li u trong FORM này b ng javascript M t p tin my_validate.js trong thư m c /com_book/js. Thêm vào hàm ki m tra chi u dài t i thi u c a m t chu i //Ham kiem tra chieu dai min function myMinLength(elem, min){ var uInput = elem.value; if(uInput.length >= min ){ return true; }else{ return false; } } G i t p tin my_validate.js vào trang FORM. M t p tin book.php trong thư m c /com_book/views thêm vào hàm add() v i n i dung sau: function add($lists) { BookViewBook::setBookToolBar(); //Them tap tin validate vao FORM echo JHTML::script('my_validate.js', JURI::base() . '/components/com_book/js/'); //Tao Category selectbox $catid = $lists['category_id']; //Code cũ … } Ki m tra d li u c a FORM. T o t p tin add.php trong thư m c /com_book/views/templates/category/ v i n i dung:
  19. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn function submitbutton(pressbutton) { var form = document.adminForm; if (pressbutton == 'cancel') { submitform( pressbutton ); return; } // do field validation if (myMadeSelection(form.category_id, 0) == false) { alert( "" ); }else if (myLengthRestriction(form.title,3,200) == false) { alert( "" ); }else if (myLengthRestriction(form.author,3,100) == false) { alert( "" ); }else if (myLengthRestriction(form.publisher,3,100) == false) { alert( ""); }else if (myNotEmpty(form.publish_date) == false) { alert( ""); }else if (myMinLength(form.synopsis,50) == false) { alert( ""); }else if (myMinLength(form.content,100) == false) { alert( ""); }else{ submitform( pressbutton ); } } //--> //Code cũ … d. Lưu d li u vào database Sau khi ki m tra d li u trong FORM úng như yêu c u chúng ta th c hi n vi c lưu d li u vào database. M t p tin book.php trong thư m c /com_book/controllers thêm vào hàm save() v i n i dung sau: function save() { global $mainframe; $task = $this->getTask(); //Lay thong tin cua User hien tai $user = & JFactory::getUser(); //Khoi tao doi tuong TableCategory $row = & JTable::getInstance('Book', 'Table'); $row->catid = JRequest::getVar('category_id', '', 'POST', 'INT'); $row->title = JRequest::getVar('title', '', 'POST', 'STRING'); $row->author = JRequest::getVar('author', '', 'POST', 'STRING'); $row->publisher = JRequest::getVar('publisher', '', 'POST', 'STRING'); $row->publish_date = JRequest::getVar('publish_date', '', 'POST', 'STRING'); $row->synopsis = JRequest::getVar('synopsis', '', 'POST', 'STRING','JREQUEST_ALLOWHTML'); $row->content = JRequest::getVar('content', '', 'POST', 'STRING','JREQUEST_ALLOWHTML'); $row->created_by = $user->id; $row->created = date("Y-m-d h:i:s", time()); $row->hits = 0; $row->published = JRequest::getVar('published', '', 'POST', 'INT'); if (!$row->store()) { $error = $row->getErrorMsg(); 19 Gi ng viên: Ph m Vũ Khánh Email: vukhanh2212@gmail.com
  20. Ebook: L p trình Joomla! 1.5 Zendvn Group Chương 3: Xây d ng Book controller http://www.zend.vn $mainframe->redirect('index.php?option=com_book&c=Book', $error); } else { if ($task == 'save') { $mainframe->redirect('index.php?option=com_book&c=Book', 'Message Saved'); } else { $mainframe->redirect('index.php?option=com_book&c=Book&task=edit&cid[]=' . $row->id, 'Message Saved'); } } } e. Upload và Resize t p tin hình nh ư c t i lên upload, resize, rename hình nh chúng ta c n m t s hàm h tr cho v n này. T o m t t p tin upload.php trong thư m c /com_book/helpers v i n i dung:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0