public function removeFromListDatagrid() { /* Bail out if we don't have a valid type. */ if (!$this->isRequiredIDValid('dataItemType', $_GET)) { CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this); return; } $dataGrid = DataGrid::getFromRequest(); $dataItemIDArray = $dataGrid->getExportIDs(); /* Validate each ID */ foreach ($dataItemIDArray as $index => $dataItemID) { if (!$this->isRequiredIDValid($index, $dataItemIDArray)) { CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid data item ID.'); return; } } $dataItemType = $_GET['dataItemType']; $dataItemDesc = TemplateUtility::getDataItemTypeDescription($dataItemType); if (!$this->isRequiredIDValid('savedListID', $_GET)) { CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid saved list ID.'); return; } $savedListID = $_GET['savedListID']; /* Remove the items */ $savedLists = new SavedLists($this->_siteID); $dataItemIDArrayTemp = array(); foreach ($dataItemIDArray as $dataItemID) { $dataItemIDArrayTemp[] = $dataItemID; /* Because its too slow adding 1 item at a time, we do it in spurts of 200 items. */ if (count($dataItemIDArrayTemp) > 200) { $savedLists->removeEntryMany($savedListID, $dataItemIDArrayTemp); $dataItemIDArrayTemp = array(); } } if (count($dataItemIDArrayTemp) > 0) { $savedLists->removeEntryMany($savedListID, $dataItemIDArrayTemp); } /* Redirect to the saved list page we were on. */ /* FIXME: What if we are on the last page? */ CATSUtility::transferRelativeURI('m=lists&a=showList&savedListID='.$savedListID); }