public static function suggestCategoryInterests()
 {
     global $wgUser;
     $interests = array();
     if ($wgUser->getId() == 0) {
         return $interests;
     }
     $dbr = wfGetDB(DB_SLAVE);
     $res = ProfileBox::fetchEditedData($wgUser->getName(), 10);
     while ($row = $dbr->fetchObject($res)) {
         $t = Title::newFromId($row->page_id);
         if ($t && $t->exists()) {
             $interests = array_merge($interests, CatSearch::getParentCats($t));
         }
     }
     $interests = array_unique($interests);
     foreach ($interests as $k => $interest) {
         if (CatSearch::ignoreCategory($interest)) {
             unset($interests[$k]);
         }
     }
     // Give them some random top-level categories if they haven't done any edits yet
     if (!sizeof($interests)) {
         global $wgCategoryNames;
         $topCats = array_values($wgCategoryNames);
         $rnd = rand(1, 6);
         for ($i = 1; $i < 4; $i++) {
             $interests[] = str_replace(" ", "-", $topCats[$i * $rnd]);
         }
     }
     return array_slice(array_values($interests), 0, 3);
 }
Example #2
0
 function getCategoriesHtml(&$t)
 {
     $html = "";
     $cats = array_reverse($this->getCategories($t));
     foreach ($cats as $cat) {
         if (!CatSearch::ignoreCategory($cat)) {
             $html .= "<span class='ui-widget-content ui-corner-all cat_category  cat_category_initial'>{$cat}<span class='cat_close'></span></span>";
         }
     }
     return $html;
 }