Esempio n. 1
0
 public static function generateFeedItem($f)
 {
     $fname = "FeedUsertalk:generateFeedItem";
     $dbr = wfGetDB(DB_SLAVE);
     $msg = null;
     $u = User::newFromName($f->fo_target_name);
     if (rand(0, 1) == 0) {
         // user's recent edit
         $row = $dbr->selectRow('recentchanges', array('rc_title', 'rc_namespace', 'rc_timestamp'), array('rc_namespace' => NS_MAIN, 'rc_user' => $f->fo_target_id), $fname, array("ORDER BY" => "rc_id DESC"));
         if ($row) {
             $t = Title::makeTitle($row->rc_namespace, $row->rc_title);
             $msg = "<a href='{$u->getUserPage()->getFullURL()}'>{$u->getName()}</a> recently edited <a href='{$t->getFullURL()}'>{$t->getText()}</a> " . wfTimeAgo($row->rc_timestamp);
         }
     } else {
         // user's recent article creation
         $row = $dbr->selectRow(array('firstedit', 'page'), array('page_title', 'page_namespace', 'fe_timestamp'), array('page_namespace' => NS_MAIN, 'fe_user' => $f->fo_target_id, 'page_id=fe_page'), $fname, array("ORDER BY" => "page_id DESC"));
         if ($row) {
             $t = Title::makeTitle($row->page_namespace, $row->page_title);
             $msg = "<a href='{$u->getUserPage()->getFullURL()}'>{$u->getName()}</a> recently started the article <a href='{$t->getFullURL()}'>{$t->getText()}</a> " . wfTimeAgo($row->fe_timestamp);
         }
     }
     $html = "";
     if ($msg) {
         $av = $av = Avatar::getAvatarRaw($u->getName());
         $url = $av['url'];
         if (!preg_match("@fbcdn.net@", $url)) {
             $url = wfGetPad("/images/avatarOut/" . $av['url']);
         }
         if ($url) {
             $img = "<img src='{$url}' style='width:50px; margin-right: 5px;'/>";
         }
         $html = "<div class='feeditem'>{$img}{$msg}\n                    <div class='actions'><a href='{$t->getFullURL()}'>Read</a> | " . "<a href='{$t->getFullURL()}?action=edit'>Edit</a> | <a href='{$t->getFullURL()}?action=watch'>Watch</a></div></div>";
     }
     wfProfileOut($fname);
     return $html;
 }
Esempio n. 2
0
 /**
  * Return a new avatar img in a compact format for transmission
  */
 protected function getUserPic(&$u)
 {
     $raw = Avatar::getAvatarRaw($u->getName());
     return $raw['type'] . ':' . $raw['url'];
 }
 $title = Title::newFromText($page['name'], $page['ns']);
 $deletion = false;
 if ($title && $title->exists() && $title->getNamespace() != NS_MAIN) {
     print 'Deleting article ' . $wgContLang->getNSText($row->pb_namespace) . ':' . $title->getText() . "\n";
     $article = new Article($title);
     $article->doDelete('Bad page');
     $deletion = true;
 }
 if ($page['ns'] == NS_USER) {
     $user = User::newFromName($page['name']);
     if ($user && $user->getID() > 0) {
         if (ProfileBox::removeUserData($user)) {
             print "Removed profilebox for " . $user->getName() . "\n";
             $deletion = true;
         }
         $ra = Avatar::getAvatarRaw($user->getName());
         if ($ra['url'] != '') {
             if (preg_match("@SUCCESS@", Avatar::removePicture($user->getID()))) {
                 print "Remove avatar picture for " . $user->getName() . "\n";
                 $deletion = true;
             }
         }
     }
 }
 if ($deletion) {
     $deleted[] = array($page['name'], $page['ns']);
     $n++;
 }
 //Safety check to only delete a maximum of 100 articles
 if ($n > $max_deletes) {
     break;