Пример #1
0
 /**
  * Handle a page that enables users to registers to various mailing lists.
  */
 public function executeMailinglists()
 {
     $user_id = $this->getUser()->getId();
     $this->user_private_data = UserPrivateData::find($user_id);
     $this->email = $this->user_private_data->get('email');
     $lists = sfConfig::get('mod_users_mailinglists_values');
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $listname = $this->getRequestParameter('listname');
         if ($this->getRequestParameter('reason') == 'sub') {
             Sympa::subscribe($listname, $this->email);
             $this->statsdIncrement("{$listname}.subscribe");
         } else {
             Sympa::unsubscribe($listname, $this->email);
             $this->statsdIncrement("{$listname}.unsubscribe");
         }
     }
     $subscribedLists = Sympa::getSubscribedLists($this->email);
     $ml_list_subscribed = array();
     $ml_list_available = array();
     foreach ($lists as $list) {
         if (in_array($list, $subscribedLists)) {
             $ml_list_subscribed[] = $list;
         } else {
             $ml_list_available[] = $list;
         }
     }
     $this->available_lists = $ml_list_available;
     $this->subscribed_lists = $ml_list_subscribed;
     $this->setPageTitle($this->__('mailing lists'));
 }