Esempio n. 1
0
 /**
  * Tests JTableNested::delete
  *
  * @return  void
  *
  * @since   11.3
  */
 public function testDelete()
 {
     $table = $this->object;
     $assetsTable = new JTableAsset(self::$dbo);
     $treeAssetsOriginal = $assetsTable->getTree('1');
     $this->assertEquals(159, count($treeAssetsOriginal), 'Line: ' . __LINE__ . ' Assets root tree should have 159 nodes');
     // Delete Sample Data weblinks (18) & children
     $table->load('18');
     $this->assertTrue($table->delete('18', true), 'Line: ' . __LINE__ . ' Should delete 18');
     // Check categories table
     $treeTemp = $table->getTree('1');
     $this->assertEquals(63, count($treeTemp), 'Line: ' . __LINE__ . ' Root tree should have 63 nodes');
     $this->checkLftRgt($treeTemp);
     $this->assertEquals('14', $treeTemp[1]->id, 'Line: ' . __LINE__ . ' id for element 1 should be 14');
     $this->assertEquals('19', $treeTemp[2]->id, 'Line: ' . __LINE__ . ' id for element 2 should be 19');
     $this->assertEquals(0, count($table->getTree('18')), 'Line: ' . __LINE__ . ' Id 18 should have been deleted');
     $this->assertEquals(0, count($table->getTree('31')), 'Line: ' . __LINE__ . ' Id 31 should have been deleted');
     // Check assets table
     $treeAssetsTemp = $assetsTable->getTree('1');
     $this->assertEquals(155, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' After delete, assets root tree should have 155 nodes');
     $this->assertEquals(0, count($assetsTable->getTree('43')), 'Line: ' . __LINE__ . ' Id 43 should have been deleted from assets');
     $this->assertEquals(0, count($assetsTable->getTree('56')), 'Line: ' . __LINE__ . ' Id 56 should have been deleted from assets');
     // Delete Modules (22) and don't delete children
     // Child nodes should be moved up to parent
     $table->load('22');
     $this->assertTrue($table->delete('22', false), 'Line: ' . __LINE__ . ' Delete id 22 should be successful');
     // Check categories table
     $treeTemp = $table->getTree('1');
     $this->assertEquals(62, count($treeTemp), 'Line: ' . __LINE__ . ' Root tree should have 62 nodes');
     $this->checkLftRgt($treeTemp);
     $this->assertEquals('64', $treeTemp[5]->id, 'Line: ' . __LINE__ . ' id for element 5 should be 64');
     $this->assertEquals('4', $treeTemp[5]->level, 'Line: ' . __LINE__ . ' level for element 5 should be 4');
     $this->assertEquals('65', $treeTemp[6]->id, 'Line: ' . __LINE__ . ' id for element 6 should be 65');
     $this->assertEquals('4', $treeTemp[6]->level, 'Line: ' . __LINE__ . ' id for element 6 should be 4');
     $this->assertEquals('66', $treeTemp[7]->id, 'Line: ' . __LINE__ . ' id for element 7 should be 66');
     $this->assertEquals('4', $treeTemp[7]->level, 'Line: ' . __LINE__ . ' id for element 7 should be 4');
     $this->assertEquals('67', $treeTemp[8]->id, 'Line: ' . __LINE__ . ' id for element 8 should be 67');
     $this->assertEquals('4', $treeTemp[8]->level, 'Line: ' . __LINE__ . ' id for element 8 should be 4');
     $this->assertEquals('75', $treeTemp[9]->id, 'Line: ' . __LINE__ . ' id for element 9 should be 75');
     $this->assertEquals('4', $treeTemp[9]->level, 'Line: ' . __LINE__ . ' id for element 9 should be 4');
     $this->assertEquals(0, count($table->getTree('22')), 'Line: ' . __LINE__ . ' id 22 should be deleted');
     // Check assets table
     $treeAssetsTemp = $assetsTable->getTree('1');
     $this->assertEquals(154, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' After delete, assets root tree should have 154 nodes');
     $this->assertEquals(0, count($assetsTable->getTree('47')), 'Line: ' . __LINE__ . ' Id 47 should have been deleted from assets');
     // Try using delete method without the table->load
     // It should fail and return false
     $table->reset();
     $this->assertFalse($table->delete('14'), 'Line: ' . __LINE__ . ' Table delete should fail because table->load() was not run first');
     // Delete Templates (23) without arguments (using just the $table->load)
     $table->load('23');
     $this->assertTrue($table->delete(), 'Line: ' . __LINE__ . ' Should delete id 23 and children');
     // Check categories
     $treeTemp = $table->getTree('1');
     $this->assertEquals(58, count($treeTemp), 'Line: ' . __LINE__ . ' Root tree should have 58 nodes');
     $this->checkLftRgt($treeTemp);
     $this->assertEquals('24', $treeTemp[10]->id, 'Line: ' . __LINE__ . ' id for element 10 should be 24');
     $this->assertEquals(0, count($table->getTree('23')), 'Line: ' . __LINE__ . ' id 23 should be deleted');
     // Check assets
     $treeAssetsTemp = $assetsTable->getTree('1');
     $this->assertEquals(148, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' After delete, assets root tree should have 148 nodes');
     $this->assertEquals(0, count($assetsTable->getTree('48')), 'Line: ' . __LINE__ . ' Id 48 should have been deleted from assets');
     $this->assertEquals(0, count($assetsTable->getTree('98')), 'Line: ' . __LINE__ . ' Id 98 should have been deleted from assets');
     $this->assertEquals(0, count($assetsTable->getTree('147')), 'Line: ' . __LINE__ . ' Id 147 should have been deleted from assets (article)');
     $table->load('21');
     // Components no children
     $this->assertTrue($table->delete('21', false), 'Line: ' . __LINE__ . ' Should delete id 21 but not children');
     // Check categories
     $treeTemp = $table->getTree('1');
     $this->assertEquals(57, count($treeTemp), 'Line: ' . __LINE__ . ' Root tree should have 58 nodes');
     $this->checkLftRgt($treeTemp);
     $this->assertEquals('64', $treeTemp[4]->id, 'Line: ' . __LINE__ . ' id for element 4 should be 64');
     $this->assertEquals(0, count($table->getTree('21')), 'Line: ' . __LINE__ . ' id 21 should be deleted');
     // Check assets
     $treeAssetsTemp = $assetsTable->getTree('1');
     $this->assertEquals(147, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' After delete, assets root tree should have 147 nodes');
     // Test table with no assets
     $menuTable = new JTableMenu(self::$dbo);
     $menuTable->load('2');
     $this->assertTrue($menuTable->delete('2', true), 'Line: ' . __LINE__ . ' Menu id 2 should be deleted');
     $treeMenuTemp = $menuTable->getTree('1');
     $this->checkLftRgt($treeMenuTemp);
     $this->assertEquals(16, count($treeMenuTemp), 'Line: ' . __LINE__ . ' Menu table should have 16 rows');
     $this->assertEquals(147, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' After delete, assets root tree should still have 147 nodes');
     // Check assets
     $treeAssetsTemp = $assetsTable->getTree('1');
     $this->assertEquals(147, count($treeAssetsTemp), 'Line: ' . __LINE__ . ' Assets root tree should have 147 nodes');
     // Check lock
     $lockedTable = $this->getMock('JTableCategory', array('_lock'), array('jos_categories', 'id', self::$dbo));
     $lockedTable->expects($this->any())->method('_lock')->will($this->returnValue(false));
     $this->assertFalse($lockedTable->delete('1'), 'Line: ' . __LINE__ . ' Delete should fail because cannot lock');
 }
Esempio n. 2
0
 static function rent_history($option)
 {
     global $database, $my, $Itemid, $booklibrary_configuration, $mainframe, $mosConfig_list_limit;
     PHP_booklibrary::addTitleAndMetaTags();
     //     $menu = new mosMenu($database);
     //     $menu->load( $Itemid );
     //     $params = new mosParameters( $menu->params );
     if (version_compare(JVERSION, '3.0', 'lt')) {
         $menu = new JTableMenu($database);
         // for 1.6
         $menu->load($Itemid);
         $params = new mosParameters($menu->params);
     } else {
         $menu = new JTableMenu($database);
         $menu->load($Itemid);
         $params = new JRegistry();
         $params->loadString($menu->params);
     }
     $database->setQuery("SELECT id FROM #__menu WHERE link='index.php?option=com_booklibrary'");
     if ($database->loadResult() != $Itemid) {
         $params->def('wrongitemid', '1');
     }
     if ($my->email == null) {
         echo "\n             <script type=\"text/JavaScript\" language = \"JavaScript\">\n                alert('You cannot view My Books that were not authorizated!');\n                window.history.go(-1);\n            </script>";
         exit;
     }
     $limit = $booklibrary_configuration['page']['items'];
     $limitstart = mosGetParam($_REQUEST, 'limitstart', 0);
     $database->setQuery("SELECT count(*) FROM #__booklibrary_lend AS l" . "\nLEFT JOIN #__booklibrary AS a ON a.id = l.   fk_bookid" . "\nWHERE l.fk_userid = '{$my->id}'");
     $total = $database->loadResult();
     echo $database->getErrorMsg();
     $pageNav = new JPagination($total, $limitstart, $limit);
     // for J 1.6
     $query = "SELECT l.*,a.* FROM #__booklibrary_lend AS l" . "\nLEFT JOIN #__booklibrary AS a ON a.id = l.   fk_bookid " . "\nWHERE l.fk_userid = '" . $my->id . "' LIMIT {$pageNav->limitstart},{$pageNav->limit};";
     $database->setQuery($query);
     $books = $database->loadObjectList();
     HTML_booklibrary::showRentHistory($option, $books, $pageNav, $params);
 }