| 109 | | |
| 110 | | |
| 111 | | |
| 112 | | |
| 113 | | |
| 114 | | |
| 115 | | |
| 116 | | |
| | 122 | |
| | 123 | |
| | 124 | |
| | 125 | /** |
| | 126 | * Récupération des informations sur l'utilisateurs courant |
| | 127 | * |
| | 128 | * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> |
| | 129 | * @since 1.0 |
| | 130 | * |
| | 131 | * @return array |
| | 132 | */ |
| | 133 | public function getStats() |
| | 134 | { |
| | 135 | $db = eZFluxBBDB::instance(); |
| | 136 | /* Requête inbriquée pour récupérer toutes les stats */ |
| | 137 | $stats = $db->arrayQuery( 'SELECT SUM(f.num_topics) as num_topics, ' . |
| | 138 | 'SUM(f.num_posts) as num_posts, ' . |
| | 139 | '(SELECT COUNT(id)-1 FROM '.$this->fluxBBConfig['db_prefix'].'users) as num_members ' . |
| | 140 | 'FROM '.$this->fluxBBConfig['db_prefix'].'forums f'); |
| | 141 | /* Infos sur le dernier membre */ |
| | 142 | $lastMember = $db->arrayQuery( 'SELECT id, username FROM '.$this->fluxBBConfig['db_prefix'].'users ORDER BY registered DESC LIMIT 1'); |
| | 143 | |
| | 144 | $stats = array_merge( $stats[0], array( 'last_member' => $lastMember[0] )); |
| | 145 | |
| | 146 | return $stats; |
| | 147 | } |
| | 148 | |
| | 149 | |
| | 150 | |
| | 151 | /** |
| | 152 | * Récupération des informations sur les membres en ligne |
| | 153 | * |
| | 154 | * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com> |
| | 155 | * @since 1.0 |
| | 156 | * |
| | 157 | * @return array |
| | 158 | */ |
| | 159 | public function getOnline() |
| | 160 | { |
| | 161 | $db = eZFluxBBDB::instance(); |
| | 162 | |
| | 163 | $getOnline = array( 'total' => 0, |
| | 164 | 'guests' => 0, |
| | 165 | 'users' => 0, |
| | 166 | 'list' => array() |
| | 167 | ); |
| | 168 | |
| | 169 | $online = $db->arrayQuery( 'SELECT user_id, ident ' . |
| | 170 | 'FROM '.$this->fluxBBConfig['db_prefix'].'online ' . |
| | 171 | 'WHERE idle=0 ' . |
| | 172 | 'ORDER BY ident'); |
| | 173 | $getOnline['total'] = count($online); |
| | 174 | |
| | 175 | foreach( $online as $user ) |
| | 176 | { |
| | 177 | if ( $user['user_id'] > 1) |
| | 178 | { |
| | 179 | $getOnline['list'][] = $user; |
| | 180 | $getOnline['users']++; |
| | 181 | } |
| | 182 | else |
| | 183 | { |
| | 184 | $getOnline['guests']++; |
| | 185 | } |
| | 186 | } |
| | 187 | |
| | 188 | return $getOnline; |
| | 189 | } |