Esempio n. 1
0
 /**
  * Render
  */
 public function render()
 {
     $Онлайн = new Db_ORM('Онлайн');
     $Онлайн->where('created_date', time() - config('widgets.Онлайн.period', 60), ' < ');
     $Онлайн->delete();
     $data = Core_ArrayObject::transform(array('counters' => array('users' => 0, 'Боты' => 0, 'Гости' => 0, 'all' => 0), 'users' => array(), 'Боты' => array(), 'guest' => array()));
     if ($result = $Онлайн->findAll()) {
         foreach ($result as $item) {
             if ($item->uid) {
                 if (!$data->users->offsetExists($item->uid)) {
                     $data->users->offsetSet($item->uid, user($item->uid));
                     $data->counters->users++;
                 }
             } else {
                 if (preg_match('#(yandex|google|rss|bot|rambler|pubsub|parser|spider|feed)#ism', $item->user_agent, $bot)) {
                     if ($data->Боты->offsetExists($bot[0])) {
                         continue;
                     }
                     $data->Боты->offsetSet($bot[0]);
                     $data->counters->Боты++;
                 } else {
                     $data->counters->Гости++;
                 }
             }
         }
         $data->counters->all = $data->counters->users + $data->counters->Боты + $data->counters->Гости;
     }
     $tpl = new Template('User/templates/widgets/Онлайн');
     $tpl->data = $data;
     $this->code = $tpl->render();
     return parent::render();
 }
Esempio n. 2
0
 /**
  * Delete link
  * 
  * @param int $id 
  */
 public function delete_action($id)
 {
     $loginza = new Db_ORM('users_loginza');
     $loginza->id = $id;
     if ($loginza->find() && ($this->user->id == $id or access('loginza delete_all'))) {
         $loginza->delete();
         Ajax::json(array('items' => array(array('id' => 'loginza-' . $id, 'action' => 'delete')), 'message' => array('body' => t('Link between your profile and social service was successfully deleted.'))));
     } else {
         Ajax::denied();
     }
 }
Esempio n. 3
0
 /**
  * Delete
  */
 public function delete()
 {
     parent::delete();
 }