public static function deleteByWikiArticleId($wikiArticleId) { $wks = WikiKeyword::get_all_by_wikiArticleId($wikiArticleId); foreach ($wks as $wk) { $wk->delete(); } }
public function delete() { WikiKeyword::deleteByWikiArticleId($this->id); parent::delete(); }
} $curPage->revId = $lastRevId; $curPage->title = $title; $curPage->fullUrl = $fullUrl; $curPage->wikiContents = file_get_contents($pageRawUrl); if ($curPage->wikiContents === false) { log_scriptLog("Cannot fetch raw page from {$pageRawUrl}"); exit(1); } $curPage->htmlContents = parse($curPage->wikiContents); if ($curPage->htmlContents === false) { log_scriptLog("Cannot parse page"); exit(1); } $curPage->save(); WikiKeyword::deleteByWikiArticleId($curPage->id); $keywords = $curPage->extractKeywords(); foreach ($keywords as $keyword) { $wk = Model::factory('WikiKeyword')->create(); $wk->wikiArticleId = $curPage->id; $wk->keyword = $keyword; $wk->save(); } log_scriptLog("Saved page #{$pageId} \"{$title}\""); } } // Now delete all the pages on our side that aren't category members because // (a) they have been deleted or // (b) they have been removed from the category $ourIds = db_getArray('select pageId from WikiArticle'); foreach ($ourIds as $ourId) {