Example #1
0
 public function indexAction()
 {
     $serviceKey = $this->params()->fromQuery('service');
     $serviceType = $this->params()->fromQuery('type');
     $userId = $this->params()->fromQuery('uid');
     $serviceKey = ucfirst(strtolower($serviceKey));
     $serviceType = ucfirst(strtolower($serviceType));
     $this->changeViewModel('json');
     $itemModel = Api::_()->getModel('Oauth\\Model\\Accesstoken');
     $dataClass = $itemModel->getItem()->getDataClass();
     $item = $dataClass->where(function ($where) use($serviceKey, $serviceType, $userId) {
         $where->equalTo('adapterKey', strtolower($serviceKey));
         $where->equalTo('tokenStatus', 'active');
         $where->equalTo('version', $serviceType);
         $where->equalTo('user_id', $userId);
         return $where;
     })->find('one');
     $item = (array) $item;
     if (!$item) {
         return new JsonModel();
     }
     $webserice = WebserviceFactory::factory($serviceType . $serviceKey, $item, $this->getServiceLocator());
     $adapter = $webserice->getAdapter();
     $userApi = $adapter->uniformApi('User');
     $userId = $item['remoteUserId'];
     $user = $userApi->setUserId($userId)->getData();
     //$json = $userApi->getLastRawResponse();
     //p($userApi->getAdapter()->getClient()->getRequest()->toString());
     //p($userApi->getAdapter()->getClient()->getResponse()->getBody());
     return new JsonModel(array('data' => $user));
 }
Example #2
0
 public function restGetRemove()
 {
     $id = $this->params('id');
     $itemModel = Api::_()->getModel('User\\Model\\User');
     $item = $itemModel->getUser($id);
     return array('callback' => $this->params()->fromQuery('callback'), 'item' => $item);
 }
Example #3
0
 public function upgradeRoleUser($userId, $roleKey, $days)
 {
     $roleModel = Api::_()->getModel('User\\Model\\Role');
     $role = $roleModel->getRole($roleKey);
     if (!isset($role['id'])) {
         return array();
     }
     $roleUser = $this->getRoleUser($userId, $role['id']);
     $now = \Eva\Date\Date::getNow();
     if (!isset($roleUser['user_id'])) {
         $data['user_id'] = $userId;
         $data['role_id'] = $role['id'];
         $data['status'] = 'active';
         $data['activeTime'] = $now;
         $data['expiredTime'] = \Eva\Date\Date::getFuture(3600 * 24 * $days, $now, 'Y-m-d H:i:s');
         $this->setItem($data)->createRoleUser();
     } else {
         $roleUser['status'] = 'active';
         if ($roleUser['expiredTime'] > $now) {
             $roleUser['expiredTime'] = \Eva\Date\Date::getFuture(3600 * 24 * $days, $roleUser['expiredTime'], 'Y-m-d H:i:s');
         } else {
             $roleUser['expiredTime'] = \Eva\Date\Date::getFuture(3600 * 24 * $days, $now, 'Y-m-d H:i:s');
             $roleUser['activeTime'] = $now;
         }
         $roleUser->saveRoleUser();
     }
 }
 public function restPostSettingComponent()
 {
     $postData = $this->getRequest()->getPost();
     $componentName = $postData['name'];
     $view = array();
     if (!$componentName) {
         return $view;
     }
     $api = Api::_();
     $config = $api->getConfig();
     if (!isset($config['page_components'][$componentName]) || !$config['page_components'][$componentName]) {
         return $view;
     }
     $component = $config['page_components'][$componentName];
     $path = $api->getModulePath($component['module']);
     $filepath = $path . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . $component['path'] . '.phtml';
     if (file_exists($filepath) && is_writable($filepath)) {
         $handle = fopen($filepath, 'wa');
         fwrite($handle, $postData['content']);
         fclose($handle);
         $this->flashMessenger()->addMessage('file-edit-succeed');
         return $this->redirect()->toUrl('/admin/core/setting/component/' . $componentName);
     } else {
         if (!file_exists($filepath)) {
             $view['flashMesseger'] = array('file-not-exist');
         } else {
             $view['flashMesseger'] = array('file-not-writable');
         }
     }
     $view['component'] = $component;
     return $view;
 }
Example #5
0
 public function indexAction()
 {
     $serviceKey = $this->params()->fromQuery('service');
     $serviceType = $this->params()->fromQuery('type');
     $userId = $this->params()->fromQuery('uid');
     $serviceKey = ucfirst(strtolower($serviceKey));
     $serviceType = ucfirst(strtolower($serviceType));
     $this->changeViewModel('json');
     $itemModel = Api::_()->getModel('Oauth\\Model\\Accesstoken');
     $dataClass = $itemModel->getItem()->getDataClass();
     $item = $dataClass->where(function ($where) use($serviceKey, $serviceType, $userId) {
         $where->equalTo('adapterKey', strtolower($serviceKey));
         $where->equalTo('tokenStatus', 'active');
         $where->equalTo('version', $serviceType);
         $where->equalTo('user_id', $userId);
         return $where;
     })->find('one');
     $item = (array) $item;
     if (!$item) {
         return new JsonModel();
     }
     $fileModel = Api::_()->getModel('File\\Model\\File');
     $file = $fileModel->getFile(24, array('self' => array('*', 'getThumb()', 'getFullPath()')));
     $webserice = WebserviceFactory::factory($serviceType . $serviceKey, $item, $this->getServiceLocator());
     $adapter = $webserice->getAdapter();
     $albumApi = $adapter->uniformApi('Album');
     $albumApi->setUserId($item['remoteUserId']);
     $albumApi->setAlbumId('5819073682310479025');
     //$data = $albumApi->getAlbumList();
     $file = $albumApi->uploadPhoto($file);
     return new JsonModel(array('file' => $file));
 }
 public function restPostTestdataPosts()
 {
     $request = $this->getRequest();
     $postData = $request->getPost();
     $dataArray = MultiForm::getPostDataArray($postData);
     $itemModel = Api::_()->getModel('Blog\\Model\\Category');
     $postModel = Api::_()->getModel('Blog\\Model\\Post');
     $content = "国际在线专稿:据英国广播公司8月10日报道,71岁的巴西球王贝利近日在英国伦敦观看奥运会比赛。贝利接受媒体采访时表示,他认为伦敦奥运会非常成功,而作为下届奥运会举办国,巴西还未做好准备,恐难超越伦敦奥运会。\n巴西将在2014年举办世界杯,2年后又将迎来41届夏季奥运会。贝利说,“当前事情看起来不大妙,我们的建筑项目还有些小问题。”他表示,交通和传媒方面可能存在最大的问题,希望届时能顺利解决。距离举办巴西世界杯只有两年时间了,贝利似乎对巴西的举办能力缺乏信心。他说,“我已经和总统罗塞夫就此事讨论过,她说会尽最大努力筹备组织奥运会,但我们还没有真正准备好。”\n这位71岁的足球先生、足球运动的世界代言人表示,希望首次举办奥运会将为巴西带来深厚的影响,但巴西也应该交给世界一份满意的答卷。\n当被问及牙买加田径运动员“闪电”博尔特是否像他和拳王阿里一样,具备成为最伟大的运动员的资格,他说,“当然,这毫无疑问。”----------------";
     foreach ($dataArray as $key => $array) {
         if ($array['order'] <= 0 || !$array['id']) {
             continue;
         }
         $categoryinfo = $itemModel->setItemParams($array['id'])->getCategory();
         if (!$categoryinfo) {
             continue;
         }
         for ($i = 1; $i <= $array['order']; $i++) {
             $postData = array('title' => $categoryinfo['categoryName'] . "-测试数据-" . $i, 'Text' => array('content' => $content), 'status' => 'published', 'codeType' => 'markdown', 'visibility' => 'public', 'commentStatus' => 'open', 'commentType' => 'local', 'CategoryPost' => array('category_id' => $array['id'], 'post_id' => 0));
             $form = new \Blog\Form\PostForm();
             $subForms = array('Text' => array('Blog\\Form\\TextForm'), 'CategoryPost' => array('Blog\\Form\\CategoryPostForm'), 'FileConnect' => array('File\\Form\\FileConnectForm'));
             $form->setSubforms($subForms)->init();
             $form->setData($postData)->enableFilters();
             if ($form->isValid()) {
                 $postData = $form->getData();
                 $postData = $form->fieldsMap($postData, true);
                 $postId = $postModel->setSubItemMap($subForms)->setItem($postData)->createPost();
             } else {
             }
         }
     }
     $this->redirect()->toUrl('/scaffold/testdata/posts/');
 }
Example #7
0
 public function setParameters(Parameters $params)
 {
     $eventsUsersTable = Api::_()->getDbTable('Event\\DbTable\\EventsUsers');
     $eventsUsersTableName = $eventsUsersTable->initTableName()->getTable();
     if ($params->inEvent) {
         $this->join($eventsUsersTableName, "id = {$eventsUsersTableName}.user_id");
         /*
                     $this->initialize();
                     $select = $this->getSelect();
                     $inSelect = new Select($eventsUsersTableName);
                     $inSelect->columns(array('user_id'));
                     $select->where->in('id', $inSelect);
                     $this->setSelect($select);
         */
         if ($params->eventRole) {
             $this->where(array("{$eventsUsersTableName}.role" => $params->eventRole));
         }
     }
     if ($params->order == 'eventcountdesc') {
         $this->columns(array('*', 'EventCount' => new Expression("count(event_id)")));
         $this->group("{$eventsUsersTableName}.user_id");
         $this->order('EventCount DESC');
         unset($params->order);
     }
     return parent::setParameters($params);
 }
Example #8
0
 public function restPutFormHtml()
 {
     $request = $this->getRequest();
     $postData = $request->getPost();
     $mainForm = $postData->form;
     $form = Api::_()->getForm($mainForm);
     $elements = $form->getMergedElements();
     $subFormString = $postData->subform;
     $subFormElements = array();
     if ($subFormString) {
         $subForms = explode(',', $subFormString);
         foreach ($subForms as $subForm) {
             $form = Api::_()->getForm($subForm);
             $subFormElements[$subForm] = $form->getMergedElements();
         }
     }
     $generator = new \Scaffold\Model\FormHtmlGenerator();
     $generator->setElements($elements);
     $subFormElements ? $generator->setSubFormElements($subFormElements) : null;
     $generator->setFormClassName($mainForm);
     list($elements, $subForms) = $generator->convertToFormHtml();
     $subFormsCode = $generator->printCode($subForms);
     $formClassName = $generator->getFormClassName();
     return array('formClassName' => $formClassName, 'elements' => $elements, 'subFormsCode' => $subFormsCode);
 }
Example #9
0
 public function restGetRemove()
 {
     $id = $this->params('id');
     $itemModel = Api::_()->getModel('Notification\\Model\\Notification');
     $item = $itemModel->getNotification($id)->toArray();
     return array('callback' => $this->params()->fromQuery('callback'), 'item' => $item);
 }
Example #10
0
 public function setParameters(Parameters $params)
 {
     $groupsPostsTable = Api::_()->getDbTable('Group\\DbTable\\GroupsPosts');
     $groupsPostsTableName = $groupsPostsTable->initTableName()->getTable();
     $groupsCategoriesTable = Api::_()->getDbTable('Group\\DbTable\\CategoriesGroups');
     $groupsCategoriesTableName = $groupsCategoriesTable->initTableName()->getTable();
     if ($params->group_id || $params->groupCategory) {
         $params->inGroup = true;
     }
     if ($params->inGroup) {
         $groupId = $params->group_id;
         $categoryId = $params->groupCategory;
         $this->where(function ($where) use($groupsPostsTableName, $groupsCategoriesTableName, $groupId, $categoryId) {
             $select = new Select($groupsPostsTableName);
             $select->columns(array('post_id'));
             if ($groupId) {
                 $select->where(array('group_id' => $groupId));
             }
             if ($categoryId) {
                 $cateSelect = new Select($groupsCategoriesTableName);
                 $cateSelect->columns(array('group_id'));
                 $cateSelect->where(array('category_id' => $categoryId));
                 $select->where(function ($where) use($cateSelect) {
                     $where->in('group_id', $cateSelect);
                     return $where;
                 });
             }
             $where->in('id', $select);
             return $where;
         });
     }
     return parent::setParameters($params);
 }
Example #11
0
 public function getEventCalendar(array $params = array(), $items = array())
 {
     $calendar = new CalendarLib($params);
     $calendarArray = $calendar->toArray();
     $query = array('afterStartDay' => $calendarArray['beginDay'], 'beforeStartDay' => $calendarArray['finishDay'], 'noLimit' => true);
     if (!$items) {
         $itemModel = Api::_()->getModel('Event\\Model\\Event');
         $this->eventList = $items = $itemModel->setItemList($query)->getEventdataList();
         $items = $items ? $items->toArray() : array();
     }
     if (count($items) == 0) {
         return $calendarArray;
     }
     foreach ($calendarArray['days'] as $weekKey => $weekArray) {
         foreach ($weekArray as $dayKey => $day) {
             foreach ($items as $key => $event) {
                 if ($day['datedb'] == $event['startDay']) {
                     $calendarArray['days'][$weekKey][$dayKey]['Events'][] = $event;
                     unset($items[$key]);
                 }
             }
         }
     }
     return $calendarArray;
 }
Example #12
0
 public function restIndexQueue()
 {
     $config = Api::_()->getConfig();
     $defaultQueues = $config['queue']['default_queues'];
     $queues = array_merge($defaultQueues, \Resque::queues());
     $queues = array_unique($queues);
     foreach ($queues as $key => $queue) {
         $queues[$key] = array('name' => $queue, 'size' => \Resque::size($queue));
     }
     $pslist = $this->getSystemProcessList('ps ux | grep "php ' . realpath(EVA_ROOT_PATH . '/workers') . '" | grep -v grep');
     foreach ($queues as $key => $queue) {
         $workerCount = 0;
         foreach ($pslist as $psKey => $ps) {
             $offset = strlen($ps['COMMAND']) - strlen($queue['name']);
             if ($offset === strrpos($ps['COMMAND'], $queue['name'])) {
                 $workerCount++;
                 unset($pslist[$psKey]);
             }
         }
         $queues[$key]['workers'] = $workerCount;
     }
     $publicWorkerCount = count($pslist);
     $return = array('items' => $queues, 'publicWorkerCount' => $publicWorkerCount);
     if ($this->params()->fromQuery('format') == 'json') {
         $this->changeViewModel('json');
         return new JsonModel($return);
     }
     return $return;
 }
Example #13
0
 public function indexAction()
 {
     $user = Auth::getLoginUser();
     if (isset($user['isSuperAdmin']) || !$user) {
         exit;
     }
     $callback = $this->params()->fromQuery('r');
     $service = $this->params()->fromQuery('service');
     $emails = $this->params()->fromPost('email');
     if (!$emails) {
         exit;
     }
     $config = $this->getServiceLocator()->get('config');
     $helper = $this->getEvent()->getApplication()->getServiceManager()->get('viewhelpermanager')->get('serverurl');
     $url = $helper() . '/register/';
     if (!isset($config['contacts']['invite_mail'])) {
         exit;
     }
     $inviteModel = Api::_()->getModel('Contacts\\Model\\Invite');
     $inviteModel->setUser($user);
     $inviteModel->setRegUrl($url);
     $params['emails'] = $emails;
     $params['subject'] = $config['contacts']['invite_mail']['subject'];
     $params['template'] = $config['contacts']['invite_mail']['template'];
     $params['templatePath'] = $config['contacts']['invite_mail']['templatePath'];
     $inviteModel->sendInvite($params);
     foreach ($emails as $email) {
         $this->removeContacts($service, $email);
     }
     return $this->redirect()->toUrl($callback);
 }
Example #14
0
 public function syncAction()
 {
     $serviceKey = $this->params()->fromQuery('service');
     $serviceType = $this->params()->fromQuery('type');
     $content = $this->params()->fromQuery('content');
     $user = \Core\Auth::getLoginUser();
     $userId = $user['id'];
     $serviceKey = ucfirst(strtolower($serviceKey));
     $serviceType = ucfirst(strtolower($serviceType));
     $this->changeViewModel('json');
     if (!$userId || !$content) {
         return new JsonModel();
     }
     $itemModel = Api::_()->getModel('Oauth\\Model\\Accesstoken');
     $dataClass = $itemModel->getItem()->getDataClass();
     $item = $dataClass->where(function ($where) use($serviceKey, $serviceType, $userId) {
         $where->equalTo('adapterKey', strtolower($serviceKey));
         $where->equalTo('tokenStatus', 'active');
         $where->equalTo('version', $serviceType);
         $where->equalTo('user_id', $userId);
         return $where;
     })->find('one');
     $item = (array) $item;
     if (!$item) {
         return new JsonModel();
     }
     $webserice = WebserviceFactory::factory($serviceType . $serviceKey, $item, $this->getServiceLocator());
     $adapter = $webserice->getAdapter();
     $feedApi = $adapter->uniformApi('Feed');
     $feedApi->setUserId($item['remoteUserId']);
     $feed = $feedApi->createFeed(array('content' => $content));
     return new JsonModel(array('data' => $feed));
 }
Example #15
0
 public function setParameters(Parameters $params)
 {
     if ($params->page) {
         $this->enableCount();
         $this->page($params->page);
     }
     if ($params->noLimit) {
         $this->disableLimit();
     }
     if ($params->rows) {
         $this->limit((int) $params->rows);
     }
     if ($params->order == 'postcountdesc' || $params->order == 'postcountasc') {
         $postTagTable = Api::_()->getDbTable('Blog\\DbTable\\TagsPosts');
         $postTagTableName = $postTagTable->initTableName()->getTable();
         $this->join($postTagTableName, "id = {$postTagTableName}.tag_id");
         $this->columns(array('*', 'PostCount' => new Expression("count(post_id)")));
         $this->group('tag_id');
     }
     $orders = array('idasc' => 'id ASC', 'iddesc' => 'id DESC', 'nameasc' => 'tagName ASC', 'namedesc' => 'tagName DESC', 'postcountasc' => 'PostCount ASC', 'postcountdesc' => 'PostCount DESC');
     if ($params->order) {
         $order = $orders[$params->order];
         if ($order) {
             $this->order($order);
         }
     }
     return $this;
 }
 public function indexAction()
 {
     $api = Api::_();
     $view = array();
     if ($api->isModuleLoaded('Blog')) {
         $postModel = Api::_()->getModel('Blog\\Model\\Post');
         $posts = $postModel->setItemList(array('order' => 'iddesc'))->getPostList();
         $postsCount = $postModel->getItem()->getDataClass()->find('count');
         $view['posts'] = $posts;
         $view['postsCount'] = $postsCount;
     }
     if ($api->isModuleLoaded('File')) {
         $fileModel = Api::_()->getModel('File\\Model\\File');
         $files = $fileModel->setItemList(array('order' => 'iddesc'))->getFileList();
         $filesCount = $fileModel->getItem()->getDataClass()->find('count');
         $view['files'] = $files;
         $view['filesCount'] = $filesCount;
     }
     if ($api->isModuleLoaded('User')) {
         $userModel = Api::_()->getModel('User\\Model\\User');
         $users = $userModel->setItemList(array('order' => 'iddesc'))->setItemList(array('page' => 1))->getUserList();
         if ($userModel->getPaginator()) {
             $usersCount = $userModel->getPaginator()->getRowCount();
         } else {
             $usersCount = 0;
         }
         $view['users'] = $users;
         $view['usersCount'] = $usersCount;
     }
     return new ViewModel($view);
 }
Example #17
0
 public function registerAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $item = $request->getPost();
         $oauth = new \Oauth\OauthService();
         $accessToken = array();
         if ($oauth->getStorage()->getAccessToken()) {
             $oauth->setServiceLocator($this->getServiceLocator());
             $oauth->initByAccessToken();
             $accessToken = $oauth->getAdapter()->getAccessToken();
         }
         $form = $accessToken ? new \User\Form\QuickRegisterForm() : new \User\Form\RegisterForm();
         $form->bind($item);
         if ($form->isValid()) {
             $callback = $this->params()->fromPost('callback');
             $callback = $callback ? $callback : '/';
             $item = $form->getData();
             $itemModel = Api::_()->getModel('User\\Model\\Register');
             $itemModel->setItem($item)->register();
             $userItem = $itemModel->getItem();
             $codeItem = $itemModel->getItem('User\\Item\\Code');
             $mail = new \Core\Mail();
             $mail->getMessage()->setSubject("Please Confirm Your Email Address")->setData(array('user' => $userItem, 'code' => $codeItem))->setTo($userItem->email, $userItem->userName)->setTemplatePath(Api::_()->getModulePath('User') . '/view/')->setTemplate('mail/active');
             $mail->send();
             $this->redirect()->toUrl($callback);
         } else {
         }
         return array('token' => $accessToken, 'form' => $form, 'item' => $item);
     } else {
         return array('item' => $this->getRequest()->getQuery());
     }
 }
Example #18
0
 public function restGetRemove()
 {
     $id = $this->params('id');
     $itemModel = Api::_()->getModel('Event\\Model\\Event');
     $item = $itemModel->getEventdata($id)->toArray();
     return array('callback' => $this->params()->fromQuery('callback'), 'item' => $item);
 }
 public function restGetMessages()
 {
     $id = $this->params('id');
     $userModel = Api::_()->getModel('User\\Model\\User');
     $user = $userModel->getUser($id);
     $query = $this->getRequest()->getQuery();
     $form = new Form\ConversationSearchForm();
     $form->bind($query);
     if ($form->isValid()) {
         $query = $form->getData();
     } else {
         return array('form' => $form, 'items' => array());
     }
     if (!isset($query['author_id'])) {
         $author = \Core\Auth::getLoginUser();
         $query['author_id'] = $author['id'];
     }
     $query['user_id'] = $user['id'];
     $itemModel = Api::_()->getModel('Message\\Model\\Conversation');
     $items = $itemModel->setItemList($query)->getConversationList();
     $itemModel->markAsRead($items);
     $items = $items->toArray(array('self' => array('*'), 'join' => array('Sender' => array('userName'), 'Recipient' => array('userName'), 'Message' => array('body'))));
     $paginator = $itemModel->getPaginator();
     return array('user' => $user, 'items' => $items, 'item' => array('Conversation' => array('recipient_id' => $user['id'])), 'query' => $query, 'paginator' => $paginator);
 }
 public function restIndexScaffold()
 {
     $adapter = Api::_()->getDbAdapter();
     $metadata = new Metadata($adapter);
     $tables = $metadata->getTableNames();
     return array('tables' => $tables);
 }
Example #21
0
 public function indexAction()
 {
     $this->changeViewModel('json');
     $query = $this->getRequest()->getQuery();
     $form = new Form\GroupSearchForm();
     $form->bind($query);
     if ($form->isValid()) {
         $query = $form->getData();
     } else {
         return array('form' => $form, 'items' => array());
     }
     $itemModel = Api::_()->getModel('Group\\Model\\Group');
     $items = $itemModel->setItemList($query)->getGroupList();
     $items = $items->toArray(array('self' => array(), 'join' => array('Count' => array('*'), 'File' => array('self' => array('*', 'getThumb()')))));
     if (count($items) > 0) {
         foreach ($items as $key => $item) {
             if (count($item['File']) > 0) {
                 unset($items[$key]['File'][0]);
                 $items[$key]['File'] = $item['File'][0];
             } else {
                 unset($items[$key]['File']);
             }
         }
     }
     $paginator = $itemModel->getPaginator();
     $paginator = $paginator ? $paginator->toArray() : null;
     if (Api::_()->isModuleLoaded('User')) {
         $userList = array();
         $userList = $itemModel->getUserList(array('columns' => array('id', 'userName', 'email')))->toArray(array('self' => array('getEmailHash()')));
         $items = $itemModel->combineList($items, $userList, 'User', array('user_id' => 'id'));
     }
     return new JsonModel(array('items' => $items, 'paginator' => $paginator));
 }
Example #22
0
 public function restGetRemove()
 {
     $id = $this->params('id');
     $itemModel = Api::_()->getModel('File\\Model\\File');
     $item = $itemModel->getFile($id);
     return array('item' => $item, 'callback' => $this->params()->fromQuery('callback'));
 }
Example #23
0
 public function restIndexCsv()
 {
     $config = Api::_()->getConfig();
     if (!$config['translator']['scaffold']['path']) {
         return;
     }
     $files = glob($config['translator']['scaffold']['path'] . '/*.csv');
     $messages = array();
     foreach ($files as $file) {
         $messages = array_merge($messages, $this->loadCsv($file));
     }
     ksort($messages);
     $translatedMessages = (array) $this->getTranlatedMessages();
     $csvArray = array();
     foreach ($messages as $key => $message) {
         $findKey = strtolower($key);
         if (isset($translatedMessages[$findKey])) {
             unset($messages[$key]);
         }
     }
     unset($translatedMessages);
     $file = $config['translator']['scaffold']['path'] . '/_tmp.csv';
     $this->writeToFile($file, $messages);
     return array('csv' => file_get_contents($file));
 }
Example #24
0
 public function login()
 {
     $item = $this->getItem();
     $this->trigger('login.pre');
     $loginItem = clone $item;
     $userId = '';
     //Search for remoteUserId first
     if ($loginItem->remoteUserId) {
         $token = $loginItem->getDataClass()->where(array('adapterKey' => $loginItem->adapterKey, 'version' => $loginItem->version, 'remoteUserId' => $loginItem->remoteUserId))->find('one');
         if ($token) {
             $loginItem->setDataSource((array) $token);
             $userId = $token['user_id'];
         }
     } else {
         //Search by token
         $loginItem->self(array('*'));
         if ($loginItem->user_id) {
             $userId = $loginItem->user_id;
         }
     }
     if ($userId) {
         $userModel = Api::_()->getModel('User\\Model\\Login');
         $this->loginResult = $userModel->loginById($userId);
         //Update token when login
         $item->getDataClass()->where(array('adapterKey' => $item->adapterKey, 'version' => $item->version, 'user_id' => $userId))->save(array('token' => $item->token, 'tokenSecret' => $item->tokenSecret, 'tokenStatus' => 'active', 'refreshToken' => $item->refreshToken, 'expireTime' => $item->expireTime));
     } else {
         $this->loginResult = new Result(Result::FAILURE_IDENTITY_NOT_FOUND, $loginItem->user_id, array(Result::FAILURE_IDENTITY_NOT_FOUND => 'A record with the supplied identity could not be found.'));
     }
     $this->trigger('login');
     $this->trigger('login.post');
     return $this->loginResult;
 }
Example #25
0
 public function getTimezones($element)
 {
     $translator = \Eva\Api::_()->getServiceManager()->get('translator');
     $locale = $translator->getLocale();
     $languages = \Eva\Locale\Data::getList($locale, 'citytotimezone');
     $element['options']['value_options'] = $languages;
     return $element;
 }
Example #26
0
 public function onUnfollowUser($event)
 {
     $followModel = $event->getTarget();
     $followItem = $followModel->getItem();
     $userModel = Api::_()->getModel('User\\Model\\Friend');
     $userModel->setItem(array('user_id' => $followItem->follower_id, 'friend_id' => $followItem->user_id));
     $userModel->removeFriend();
 }
Example #27
0
 public function getCountries($element)
 {
     $translator = \Eva\Api::_()->getServiceManager()->get('translator');
     $locale = $translator->getLocale();
     $countries = \Eva\Locale\Data::getList($locale, 'territory');
     $element['options']['value_options'] = $countries;
     return $element;
 }
 public function indexAction()
 {
     $this->layout('layout/blank');
     $startDay = $this->params()->fromQuery('start');
     $itemModel = Api::_()->getModel('Event\\Model\\Calendar');
     $calendarArray = $itemModel->getEventCalendar(array('startDay' => $startDay));
     return new ViewModel(array('calendar' => $calendarArray, 'prevPath' => '/event/calendar/', 'nextPath' => '/event/calendar/', 'dayPath' => '/event/calendar/'));
 }
Example #29
0
 public function getLanguages($element)
 {
     $translator = \Eva\Api::_()->getServiceManager()->get('translator');
     $locale = $translator->getLocale();
     $languages = \Eva\Locale\Data::getList($locale, 'language');
     $element['options']['value_options'] = $languages;
     $element['attributes']['value'] = $locale;
     return $element;
 }
Example #30
0
 public function onPaymentLogstepResponse($e)
 {
     $userId = $e->getTarget()->getItem()->user_id;
     $data = $e->getTarget()->getItem()->unserializeRequestData();
     if ($userId && isset($data['roleKey']) && isset($data['days'])) {
         $itemModel = \Eva\Api::_()->getModel('User\\Model\\RoleUser');
         $itemModel->upgradeRoleUser($userId, $data['roleKey'], $data['days']);
     }
 }