示例#1
0
 protected function _recountStatistics()
 {
     $img = '<img src="' . $this->settings['skin_acp_url'] . '/images/loading_anim.gif" alt="-" /> ';
     switch ($this->request['step']) {
         default:
             $stats = $this->cache->getCache('stats');
             $topics = $this->DB->buildAndFetch(array('select' => 'COUNT(*) as tcount', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
             $posts = $this->DB->buildAndFetch(array('select' => 'SUM(posts) as replies', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
             $this->registry->output->multipleRedirectHit($this->settings['base_url'] . '&module=setup&section=finalize&do=recountstats&step=posts', $img . ' Total Topics & Posts Recounted');
             break;
         case 'posts':
             $stats['total_topics'] = $topics['tcount'];
             $stats['total_replies'] = $posts['replies'];
             $r = $this->DB->buildAndFetch(array('select' => 'count(member_id) as members', 'from' => 'members', 'where' => "member_group_id <> '{$this->settings['auth_group']}'"));
             $this->registry->output->multipleRedirectHit($this->settings['base_url'] . '&module=setup&section=finalize&do=recountstats&step=members', $img . ' Total Members Recounted');
             break;
         case 'members':
             $stats['mem_count'] = intval($r['members']);
             $stats = array_merge($stats, IPSMember::resetLastRegisteredMember(true));
             $stats['most_date'] = time();
             $stats['most_count'] = 1;
             $this->cache->setCache('stats', $stats, array('array' => 1));
             $this->registry->output->multipleRedirectHit($this->settings['base_url'] . '&module=setup&section=finalize&do=resynchtopics', $img . ' Most Online & Last Registered Member Recounted');
             break;
         case 'done':
             break;
     }
 }
示例#2
0
 /**
  * Count stats
  *
  * @return	@e void
  */
 public function doCount()
 {
     if (empty($this->request['posts']) && empty($this->request['online']) && empty($this->request['members']) && empty($this->request['lastreg'])) {
         $this->registry->output->showError($this->lang->words['re_nothing'], 11154);
     }
     $stats = $this->cache->getCache('stats');
     if ($this->request['posts']) {
         $topics = $this->DB->buildAndFetch(array('select' => 'COUNT(*) as tcount', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
         $posts = $this->DB->buildAndFetch(array('select' => 'SUM(posts) as replies', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
         $stats['total_topics'] = $topics['tcount'];
         $stats['total_replies'] = $posts['replies'];
     }
     if ($this->request['members']) {
         $r = $this->DB->buildAndFetch(array('select' => 'count(member_id) as members', 'from' => 'members', 'where' => "member_group_id <> '{$this->settings['auth_group']}'"));
         $stats['mem_count'] = intval($r['members']);
     }
     if ($this->request['lastreg']) {
         $stats = array_merge($stats, IPSMember::resetLastRegisteredMember(true));
     }
     if ($this->request['online']) {
         $stats['most_date'] = time();
         $stats['most_count'] = 1;
     }
     $this->cache->setCache('stats', $stats, array('array' => 1));
     $this->registry->output->global_message = $this->lang->words['re_statsrecount'];
     $this->registry->output->silentRedirectWithMessage($this->settings['base_url'] . $this->form_code);
 }
示例#3
0
 /**
  * Rebuild the stats
  *
  * @return	bool
  * @author	Brandon Farber
  */
 public function rebuildStats()
 {
     $stats = $this->cache->getCache('stats');
     $topics = $this->DB->buildAndFetch(array('select' => 'COUNT(*) as tcount', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
     $posts = $this->DB->buildAndFetch(array('select' => 'SUM(posts) as replies', 'from' => 'topics', 'where' => $this->registry->getClass('class_forums')->fetchTopicHiddenQuery(array('visible'), '')));
     $stats['total_topics'] = $topics['tcount'];
     $stats['total_replies'] = $posts['replies'];
     $r = $this->DB->buildAndFetch(array('select' => 'count(member_id) as members', 'from' => 'members', 'where' => "member_group_id <> '{$this->settings['auth_group']}'"));
     $stats['mem_count'] = intval($r['members']);
     $stats = array_merge($stats, IPSMember::resetLastRegisteredMember(true));
     $this->cache->setCache('stats', $stats, array('array' => 1));
     return true;
 }
 /**
  * Unapprove member email change
  *
  * @param	int 	Member ID
  * @return	string	Confirmation message
  * @throws	NO_VALIDATING_MEMBER
  */
 public function unapproveEmailChange($id)
 {
     $member = $this->DB->buildAndFetch(array('select' => 'v.*', 'from' => array('validating' => 'v'), 'where' => 'v.email_chg=1 AND v.member_id=' . intval($id), 'add_join' => array(array('select' => 'm.member_group_id AS old_member_group', 'from' => array('members' => 'm'), 'where' => 'm.member_id=v.member_id', 'type' => 'left'))));
     if (!$member['vid']) {
         throw new Exception("NO_VALIDATING_MEMBER");
     }
     $this->DB->delete("validating", "vid='{$member['vid']}'");
     IPSMember::save($member['member_id'], array('core' => array('email' => $member['prev_email'], 'member_group_id' => $member['real_group'])));
     IPSLib::runMemberSync('onGroupChange', $member['member_id'], $member['real_group'], $member['old_member_group']);
     /* Reset last member */
     IPSMember::resetLastRegisteredMember();
     $message = sprintf($this->lang->words['t_emailchangeun'], $member['member_id']);
     ipsRegistry::getClass('adminFunctions')->saveAdminLog($message);
     return $message;
 }