示例#1
0
 public function deleteAction()
 {
     if (!$this->_helper->requireAuth()->setAuthParams('ynsocialads_campaign', null, 'delete')->isValid()) {
         return;
     }
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $id = $this->_getParam('id');
     $campaign = Engine_Api::_()->getItem('ynsocialads_campaign', $id);
     if (!$campaign->isDeletable()) {
         return;
     }
     $this->view->campaign_id = $id;
     // Check post
     if ($this->getRequest()->isPost()) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $campaign->deleteAllAds();
             $campaign->status = "deleted";
             $campaign->save();
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('')));
     }
 }
 public function editAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $id = $this->_getParam('id', 0);
     $location = Engine_Api::_()->getItem('user_location', $id);
     if (!$id || !$location) {
         return $this->_helper->requireSubject()->forward();
     }
     $form = $this->view->form = new User_Form_Admin_Location_Add();
     $form->setAction($this->getFrontController()->getRouter()->assemble(array()));
     $form->setField($location);
     if ($location->level) {
         $form->removeElement('continent');
     }
     // Check post
     if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
         // Ok, we're good to add field
         $values = $form->getValues();
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $location->title = $values["title"];
             if ($location->level == 0) {
                 $location->continent = $values['continent'];
             }
             $location->save();
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         return $this->_forward('success', 'utility', 'core', array('smoothboxClose' => true, 'parentRefresh' => true, 'messages' => array('Edit successfully!')));
     }
 }
示例#3
0
 public function denyAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $request = Engine_Api::_()->getItem('advgroup_request', $this->_getParam('req_id'));
     $id = $this->_getParam('id');
     $this->view->group_id = $id;
     // Check post
     if ($this->getRequest()->isPost()) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $group = Engine_Api::_()->getItem('group', $id);
             if ($group) {
                 $group->requested = false;
                 $group->save();
             }
             if ($request) {
                 $request->status = 2;
                 $request->save();
             }
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $notifyApi = Engine_Api::_()->getDbtable('notifications', 'activity');
         $notifyApi->addNotification($group->getOwner(), $group, $group, 'advgroup_request_denied');
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('')));
     }
     // Output
     $this->renderScript('admin-request/deny.tpl');
 }
 public function editAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     // Must have an id
     if (!($id = $this->_getParam('id'))) {
         die('No identifier specified');
     }
     $typeTable = Engine_Api::_()->getDbtable('languages', 'user');
     $type = $typeTable->find($id)->current();
     $form = $this->view->form = new User_Form_Admin_Language_Add();
     $form->setAction($this->getFrontController()->getRouter()->assemble(array()));
     $form->setField($type);
     // Check post
     if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
         // Ok, we're good to add field
         $values = $form->getValues();
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $type->title = $values["label"];
             $type->save();
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         return $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('')));
     }
     // Output
     $this->renderScript('admin-languages/form.tpl');
 }
示例#5
0
 public function deleteContentAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $content_id = $this->_getParam('content_id');
     $this->view->content_id = $content_id;
     // Check post
     if ($this->getRequest()->isPost()) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $content = Engine_Api::_()->getItem('ynfeed_welcome', $content_id);
             if ($content) {
                 $content->delete();
             }
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('')));
     }
     // Output
     $this->renderScript('admin-welcome/delete.tpl');
 }
示例#6
0
 public function indexAction()
 {
     if (!Engine_Api::_()->core()->hasSubject()) {
         return $this->setNoRender();
     }
     if (!($group = Engine_Api::_()->core()->getSubject('group'))) {
         return $this->setNoRender();
     }
     $viewer = Engine_Api::_()->user()->getViewer();
     if (!$group->authorization()->isAllowed($viewer, "view")) {
         return $this->setNoRender();
     }
     if ($this->_getParam('number') != '' && $this->_getParam('number') >= 0) {
         $limit = $this->_getParam('number');
     } else {
         $limit = 5;
     }
     $db = Engine_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     $select = "SELECT count(*) as post_count, `result`.subject_id FROM ((SELECT type1.`action_id`  , type1.`subject_id` , 'action' as 'type'\n                    FROM engine4_activity_actions type1\n                    WHERE object_type = 'group' and object_id = {$group->getIdentity()})\n                    UNION (\n                    SELECT like1.`action_id` , like2.`poster_id` as 'subject_id' , 'like' as 'type'\n                    FROM engine4_activity_likes like2\n                    JOIN engine4_activity_actions like1 ON like2.resource_id = like1.action_id\n                    WHERE like1.object_type =  'group'\n                    AND like1.object_id = {$group->getIdentity()})\n                    UNION (\n                    SELECT com1.`action_id`, com2.`poster_id` as 'subject_id' , 'comment' as 'type'\n                    FROM engine4_activity_comments com2\n                    JOIN engine4_activity_actions com1 ON com2.resource_id = com1.action_id\n                    WHERE com1.object_type =  'group'\n                    AND com1.object_id = {$group->getIdentity()}\n                    )\n                    ) as `result`\n                    GROUP BY `result`.subject_id\n                    ORDER BY post_count DESC";
     $results = $db->fetchAll($select);
     $this->view->limit = $limit;
     $this->view->group = $group;
     $this->view->results = $results;
     // Do not render if nothing to show
     if (count($results) <= 0) {
         return $this->setNoRender();
     }
 }
示例#7
0
文件: export.php 项目: hoalangoc/ftf
 public function getDb()
 {
     if ($this->_db == null) {
         $this->_db = Engine_Db_Table::getDefaultAdapter();
     }
     return $this->_db;
 }
 public function editAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $id = $this->_getParam('id');
     $this->view->campaign_id = $id;
     // Check post
     if ($this->getRequest()->isPost()) {
         $newTitle = strip_tags($this->getRequest()->getPost('newTitle'));
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $campaign = Engine_Api::_()->getItem('ynsocialads_campaign', $id);
             $campaign->title = $newTitle;
             $campaign->save();
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('')));
     }
     // Output
     $this->renderScript('admin-campaigns/edit.tpl');
 }
示例#9
0
 public function emailAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $id = $this->_getParam('id');
     $this->view->request_id = $id;
     // Check post
     if ($this->getRequest()->isPost()) {
         $table = Engine_Api::_()->getDbTable('inviterequests', 'user');
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         $post = $this->getRequest()->getPost();
         try {
             $viewer = Engine_Api::_()->user()->getViewer();
             $request = Engine_Api::_()->getItem('user_inviterequest', $id);
             $message = trim($post['message']);
             $mailType = 'user_email_request';
             $mailParams = array('host' => $_SERVER['HTTP_HOST'], 'email' => $email, 'date' => time(), 'sender_email' => $request->email, 'sender_title' => $viewer->getTitle(), 'sender_link' => $viewer->getHref(), 'message' => $message);
             Engine_Api::_()->getApi('mail', 'core')->sendSystem($request->email, $mailType, $mailParams);
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => true, 'parentRefresh' => true, 'messages' => array('Email has been sent to requester.')));
     }
 }
示例#10
0
 public function deleteNode($node, $moveToId = 0)
 {
     $moveToId = (int) $moveToId;
     $db = Engine_Db_Table::getDefaultAdapter();
     $ids = $node->getAllChildrenIds();
     $db->update('engine4_event_events', array('category_id' => $moveToId), 'category_id IN(' . implode(',', $ids) . ')');
     $db->delete('engine4_event_categories', 'category_id IN(' . implode(',', $ids) . ')');
 }
示例#11
0
 public function onItemDeleteBefore($event)
 {
     $item = $event->getPayload();
     if ($item instanceof Core_Model_Item_Abstract) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->delete('engine4_seo_pages', array('page_id = ?' => $item->getGuid()));
     }
 }
示例#12
0
 public function denyAction()
 {
     $id = $this->_getParam('id');
     $array_id = $this->_getParam('array_id');
     $reasonTable = Engine_Api::_()->getItemTable('slprofileverify_reason');
     $this->view->reasons = $reasonTable->fetchAll();
     $type = $this->_getParam('type');
     if ($type != "unverifying") {
         $type = "denied";
     }
     $this->view->type = $type;
     if ($this->getRequest()->isPost()) {
         $values = $this->getRequest()->getPost();
         if (!isset($values['reason']) && !isset($values['other'])) {
             $this->view->error_reason = 1;
             return;
         }
         if (empty($values['content']) && isset($values['other'])) {
             $this->view->error_reason = 2;
             return;
         }
         $messages = "<ul style='list-style: square inside none;'>";
         if (isset($values['reason'])) {
             foreach ($values['reason'] as $reason_id) {
                 $reason = Engine_Api::_()->getItem('slprofileverify_reason', $reason_id);
                 $messages .= "<li>" . $reason->description . '</li>';
             }
         }
         if (!empty($values['content'])) {
             $messages .= "<li>" . $values['content'] . '</li>';
         }
         $messages .= "</ul>";
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $settingApi = Engine_Api::_()->getApi('core', 'slprofileverify');
             if (!empty($array_id)) {
                 $array_ids = split(",", $array_id);
                 foreach ($array_ids as $id) {
                     if ($id) {
                         $settingApi->verifyUser($id, 'unverified');
                         $settingApi->sendMailVerify($id, $messages, $type);
                     }
                 }
             } else {
                 if ($id) {
                     $settingApi->verifyUser($id, 'unverified');
                     $settingApi->sendMailVerify($id, $messages, $type);
                 }
             }
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('successfully')));
     }
 }
示例#13
0
 public function contactAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->form = $form = new Core_Form_Contact();
     if (!$this->getRequest()->isPost()) {
         return;
     }
     if (!$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     // Success! Process
     // Mail gets logged into database, so perform try/catch in this Controller
     $db = Engine_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     try {
         // the contact form is emailed to the first SuperAdmin by default
         $users_table = Engine_Api::_()->getDbtable('users', 'user');
         $users_select = $users_table->select()->where('level_id = ?', 1)->where('enabled >= ?', 1);
         $super_admin = $users_table->fetchRow($users_select);
         $viewer = Engine_Api::_()->user()->getViewer();
         $values = $form->getValues();
         // Check for error report
         $error_report = '';
         $name = $this->_getParam('name');
         $loc = $this->_getParam('loc');
         $time = $this->_getParam('time');
         if ($name && $loc && $time) {
             $error_report .= "\r\n";
             $error_report .= "\r\n";
             $error_report .= "-------------------------------------";
             $error_report .= "\r\n";
             $error_report .= $this->view->translate('The following information about an error was included with this message:');
             $error_report .= "\r\n";
             $error_report .= $this->view->translate('Exception: ') . base64_decode(urldecode($name));
             $error_report .= "\r\n";
             $error_report .= $this->view->translate('Location: ') . base64_decode(urldecode($loc));
             $error_report .= "\r\n";
             $error_report .= $this->view->translate('Time: ') . date('c', base64_decode(urldecode($time)));
             $error_report .= "\r\n";
         }
         // Make params
         $mail_settings = array('host' => $_SERVER['HTTP_HOST'], 'email' => $super_admin->email, 'date' => time(), 'recipient_title' => $super_admin->getTitle(), 'recipient_link' => $super_admin->getHref(), 'recipient_photo' => $super_admin->getPhotoUrl('thumb.icon'), 'sender_title' => $values['name'], 'sender_email' => $values['email'], 'message' => $values['body'], 'error_report' => $error_report);
         if ($viewer && $viewer->getIdentity()) {
             $mail_settings['sender_title'] .= ' (' . $viewer->getTitle() . ')';
             $mail_settings['sender_email'] .= ' (' . $viewer->email . ')';
             $mail_settings['sender_link'] = $viewer->getHref();
         }
         // send email
         Engine_Api::_()->getApi('mail', 'core')->sendSystem($super_admin->email, 'core_contact', $mail_settings);
         // if the above did not throw an exception, it succeeded
         $db->commit();
         $this->view->status = true;
         $this->view->message = $translate->_('Thank you for contacting us!');
     } catch (Zend_Mail_Transport_Exception $e) {
         $db->rollBack();
         throw $e;
     }
 }
示例#14
0
 public function getAllOutboxSelect($users)
 {
     $rName = Engine_Api::_()->getDbtable('recipients', 'messages')->info('name');
     $cName = $this->info('name');
     $str = implode(",", array_map(array($this, "getFirst"), $users));
     $select = "\n    SELECT `engine4_messages_conversations`.* FROM `engine4_messages_conversations` \n\t\tRIGHT JOIN (`engine4_messages_recipients` INNER JOIN `engine4_ynbanmem_extramessage` ON `engine4_messages_recipients`.outbox_message_id = `engine4_ynbanmem_extramessage`.message_id) \n\t\tON `engine4_messages_recipients`.`conversation_id` = `engine4_messages_conversations`.`conversation_id` WHERE (`engine4_messages_recipients`.`user_id` IN (" . $str . ")) AND (`engine4_messages_recipients`.`outbox_deleted` = 0)  ORDER BY outbox_updated DESC;\n    \n    ";
     $db = Engine_Db_Table::getDefaultAdapter();
     return $db->fetchAll($select);
 }
示例#15
0
 public function altUrl(Core_Model_Item_Abstract $item)
 {
     $db = Engine_Db_Table::getDefaultAdapter();
     if (isset($this->_memo[$item->getGuid()])) {
         return $this->_memo[$item->getGuid()];
     }
     $url = $db->select()->from('engine4_seo_pages', 'url')->where('page_id = ?', $item->getGuid())->query()->fetchColumn();
     $this->_memo[$item->getGuid()] = $url;
     return $url;
 }
示例#16
0
文件: Maps.php 项目: hoalangoc/ftf
 public function getValues($service)
 {
     $return = array();
     if (!is_string($service)) {
         return $return;
     }
     $adapter = Engine_Db_Table::getDefaultAdapter();
     $sql = "\n            select concat('pfid_',t1.field_id) as name, t1.opt_id as value\n            from engine4_socialconnect_maps as t1\n            where t1.service = '{$service}'";
     $rs = $adapter->fetchPairs($sql);
     return $rs;
 }
示例#17
0
文件: Edit.php 项目: hoalangoc/ftf
 public function init()
 {
     $this->setAttrib('id', 'admin_members_edit')->setTitle('Edit Member')->setDescription('You can change the details of this member\'s account here.')->setAction($_SERVER['REQUEST_URI']);
     // init email
     $this->addElement('Text', 'email', array('label' => 'Email Address', 'validators' => array(array('NotEmpty', true), array('EmailAddress', true), array('Db_NoRecordExists', true, array(Engine_Db_Table::getTablePrefix() . 'users', 'email', array('field' => 'user_id', 'value' => (int) $this->_userIdentity)))), 'filters' => array('StringTrim')));
     $this->email->getValidator('EmailAddress')->getHostnameValidator()->setValidateTld(false);
     // init username
     if (Engine_Api::_()->getApi('settings', 'core')->getSetting('user.signup.username', 1) > 0) {
         $this->addElement('Text', 'username', array('label' => 'Username'));
     }
     // init password
     $this->addElement('Password', 'password', array('label' => 'Password'));
     $this->addElement('Password', 'password_conf', array('label' => 'Password Again'));
     // Init level
     $levelMultiOptions = array();
     //0 => ' ');
     $levels = Engine_Api::_()->getDbtable('levels', 'authorization')->fetchAll();
     foreach ($levels as $row) {
         $levelMultiOptions[$row->level_id] = $row->getTitle();
     }
     $this->addElement('Select', 'level_id', array('label' => 'Member Level', 'multiOptions' => $levelMultiOptions));
     // Init level
     $networkMultiOptions = array();
     //0 => ' ');
     $networks = Engine_Api::_()->getDbtable('networks', 'network')->fetchAll();
     foreach ($networks as $row) {
         $networkMultiOptions[$row->network_id] = $row->getTitle();
     }
     $this->addElement('Multiselect', 'network_id', array('label' => 'Networks', 'multiOptions' => $networkMultiOptions));
     // Get list of Member Types
     $db = Engine_Db_Table::getDefaultAdapter();
     $member_type_result = $db->select('option_id, label')->from('engine4_user_fields_options')->where('field_id = 1')->query()->fetchAll();
     $member_type_count = count($member_type_result);
     $member_type_array = array();
     for ($i = 0; $i < $member_type_count; $i++) {
         $member_type_array[$member_type_result[$i]['option_id']] = $member_type_result[$i]['label'];
     }
     $this->addElement('Select', 'profile_type', array('label' => 'Profile Type', 'multiOptions' => $member_type_array));
     // Init approved
     $this->addElement('Checkbox', 'approved', array('label' => 'Approved?'));
     // Init verified
     $this->addElement('Checkbox', 'verified', array('label' => 'Verified?'));
     // Init enabled
     $this->addElement('Checkbox', 'enabled', array('label' => 'Enabled?'));
     // Buttons
     $this->addElement('Button', 'submit', array('label' => 'Save Changes', 'type' => 'submit', 'ignore' => true, 'decorators' => array('ViewHelper')));
     $this->addElement('Cancel', 'cancel', array('label' => 'cancel', 'link' => true, 'prependText' => ' or ', 'onclick' => 'parent.Smoothbox.close();', 'decorators' => array('ViewHelper')));
     $this->addDisplayGroup(array('submit', 'cancel'), 'buttons');
     $button_group = $this->getDisplayGroup('buttons');
     $button_group->addDecorator('DivDivDivWrapper');
 }
示例#18
0
 public function mutualFriends($subject, $viewer = null, $limit = 5, $mess1 = '%s follower', $mess2 = '%s followers')
 {
     if (null === $viewer) {
         $viewer = Engine_Api::_()->user()->getViewer();
     }
     if (!$viewer || !$viewer->getIdentity() || $subject->isSelf($viewer)) {
         return '';
     }
     // check if a & b has mutuals friend.
     $subject_id = (int) $subject->getIdentity();
     $viewer_id = (int) $viewer->getIdentity();
     if ($viewer_id == 0 || $subject_id == 0) {
         return 'sandobox';
     }
     $isFriend = $subject->membership()->isMember($viewer);
     //if (!$isFriend){'';}
     // Diff friends
     $friendsTable = Engine_Api::_()->getDbtable('membership', $subject->getModuleName());
     $friendsName = $friendsTable->info('name');
     // Mututal friends/following mode
     $sql = "SELECT `user_id` FROM `{$friendsName}` WHERE (`active`=1 and `resource_id`={$subject_id})";
     $db = Engine_Db_Table::getDefaultAdapter();
     $friends = $friendsTable->getAdapter()->fetchcol($sql);
     if (empty($friends)) {
         return;
     }
     // Get paginator
     $usersTable = Engine_Api::_()->getItemTable('user');
     $select = $usersTable->select()->where('user_id IN(?)', $friends)->order('photo_id desc');
     $paginator = Zend_Paginator::factory($select);
     /**
      * @var int
      * number of multual friends to show here
      */
     $paginator->setItemCountPerPage($limit);
     $totalFriends = $paginator->getTotalItemCount();
     if ($totalFriends <= 0) {
         return '';
     }
     $xhtml = array();
     $xhtml[] = '<div class="uiYnfbppHovercardSmallInfo">' . $this->view->translate(array($mess1, $mess2, $totalFriends), $this->view->locale()->toNumber($totalFriends)) . '</div>';
     $xhtml[] = '<ul class="uiYnfpSmallAvatars">';
     foreach ($paginator as $resource) {
         $xhtml[] = '<li>' . $this->view->htmlLink($resource->getHref(), $this->view->itemPhoto($resource, 'thumb.icon'), array('title' => $resource->getTitle())) . '</li>';
         if (--$limit <= 0) {
             break;
         }
     }
     $xhtml[] = '</ul>';
     return implode(PHP_EOL, $xhtml);
 }
示例#19
0
 public function killAction()
 {
     $id = $this->_getParam('video_id', null);
     if ($this->getRequest()->isPost()) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $video = Engine_Api::_()->getItem('video', $id);
             $video->status = 3;
             $video->save();
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             throw $e;
         }
     }
 }
示例#20
0
 public function activitySettingsAction()
 {
     $modulestable = Engine_Api::_()->getDbtable('modules', 'yncomment');
     $modules = $modulestable->fetchRow(array('resource_type = ?' => 'ynfeed'));
     $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('yncomment_admin_main', array(), 'yncomment_admin_main_activitySettings');
     $db = Zend_Db_Table_Abstract::getDefaultAdapter();
     $this->view->form = $form = new Yncomment_Form_Admin_ActivityEdit();
     //IF NOT POST OR FORM NOT VALID THAN RETURN
     if (!$this->getRequest()->isPost()) {
         $val = $modules->toArray();
         if ($val['params']) {
             $decodedParams = Zend_Json_Decoder::decode($val['params']);
             $form->populate($decodedParams);
             if (isset($decodedParams['showAsLike'])) {
                 $this->view->showAsLike = $decodedParams['showAsLike'];
             }
             if (isset($decodedParams['ynfeed_comment_like_box'])) {
                 $this->view->ynfeed_comment_like_box = $decodedParams['ynfeed_comment_like_box'];
             }
         } else {
             $form->populate($modules->toArray());
         }
         return;
     }
     //IF NOT POST OR FORM NOT VALID THAN RETURN
     if (!$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     //GET FORM VALUES
     $values = $form->getValues();
     $values['module'] = $modules->module;
     $values['resource_type'] = $modules->resource_type;
     $db = Engine_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     try {
         $modules->setFromArray($values);
         $modules->save();
         $modules->params = Zend_Json_Encoder::encode($values);
         $modules->save();
         $db->commit();
         $form->addNotice('Your changes have been saved.');
     } catch (Exception $e) {
         $db->rollBack();
         throw $e;
     }
 }
示例#21
0
文件: install.php 项目: hoalangoc/ftf
 public function onInstall()
 {
     parent::onInstall();
     $this->_ynBuildStructure();
     $db_adapter = Engine_Db_Table::getDefaultAdapter();
     if ($this->checkModuleExisted('ynidea')) {
         $sql = "ALTER TABLE  `engine4_ynidea_ideas` CHANGE  `title`  `title` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
         $db_adapter->query($sql);
     }
     if ($this->checkModuleExisted('ynwiki')) {
         $sql = "ALTER TABLE  `engine4_ynwiki_pages` CHANGE  `title`  `title` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
         $db_adapter->query($sql);
     }
     //Updating for old version
     $sql = "UPDATE `engine4_ynmoderation_modules` SET `report_query` = 'SELECT report_id, user_id, `type` AS `category`, `content` AS `description`, \\'ynwiki_page\\' AS `subject_type`, `page_id` AS `subject_id`, creation_date, \\'ynwiki_report\\' AS `report_type` FROM engine4_ynwiki_reports' WHERE `name`='Wiki' AND `object_type`='ynwiki_page'";
     $db_adapter->query($sql);
 }
示例#22
0
 public function indexAction()
 {
     $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('contactimporter_admin_main', array(), 'contactimporter_admin_main_settings');
     $this->view->form = $form = new Contactimporter_Form_Admin_Global();
     if ($this->getRequest()->isPost() && $this->view->form->isValid($this->getRequest()->getPost())) {
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         try {
             $this->view->form->saveValues();
             $db->commit();
             $form->addNotice('Your changes have been saved.');
         } catch (Exception $e) {
             $db->rollback();
             throw $e;
         }
     }
 }
示例#23
0
文件: Core.php 项目: hoalangoc/ftf
 public function onUserDeleteBefore($event)
 {
     $payload = $event->getPayload();
     if ($payload instanceof User_Model_User) {
         // Remove from online users
         $onlineUsersTable = Engine_Api::_()->getDbtable('online', 'user');
         $onlineUsersTable->delete(array('user_id = ?' => $payload->getIdentity()));
         // Remove friends
         $payload->membership()->removeAllUserFriendship();
         // Remove all cases user is in a friend list
         $payload->lists()->removeUserFromLists();
         // Remove all friend list created by the user
         $payload->lists()->removeUserLists();
         // Remove facebook/twitter associations
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->delete('engine4_user_facebook', array('user_id = ?' => $payload->getIdentity()));
         $db->delete('engine4_user_twitter', array('user_id = ?' => $payload->getIdentity()));
         $db->delete('engine4_user_janrain', array('user_id = ?' => $payload->getIdentity()));
         $mappingTable = Engine_Api::_()->getDbTable('mappings', 'user');
         //Remove all players
         $playerTable = Engine_Api::_()->getDbtable('playercards', 'user');
         $playerSelect = $playerTable->select()->where('user_id = ?', $payload->getIdentity());
         foreach ($playerTable->fetchAll($playerSelect) as $player) {
             //Get all mapping
             $mappingSelect = $mappingTable->select()->where("owner_type = ?", $player->getType())->where("owner_id = ?", $player->getIdentity());
             foreach ($mappingTable->fetchAll($mappingSelect) as $item) {
                 $item->delete();
             }
             $player->delete();
         }
         //Remove all libs
         $library = $payload->getMainLibrary();
         $subLibraries = $library->getSubLibrary();
         foreach ($subLibraries as $subLibrary) {
             $subLibrary->delete();
         }
         $library->delete();
         //Remove all campaigns
         $campaignTable = Engine_Api::_()->getItemTable('tfcampaign_campaign');
         $campaignSelect = $campaignTable->select()->where("user_id = ?", $payload->getIdentity());
         foreach ($campaignTable->fetchAll($campaignSelect) as $campaign) {
             $campaign->delete();
         }
     }
 }
示例#24
0
 public function indexAction()
 {
     $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('yntheme_admin_main', array(), 'yntheme_admin_main_settings');
     $path = APPLICATION_PATH . '/application/themes';
     if (!$this->checkWriteable($path)) {
         return $this->_forward('unwriteable');
     }
     $this->view->form = $form = new Yntheme_Form_Admin_Global();
     $allThemes = Engine_Api::_()->getDbtable('themes', 'core')->fetchAll();
     $themes = array();
     // get active theme.
     $this->view->activeThemeName = $activeThemeName = 'default';
     $this->view->activeThemeTitle = 'Default';
     $activeTheme = $allThemes->getRowMatching('active', 1);
     if (is_object($activeTheme)) {
         $this->view->activeThemeName = $activeThemeName = $activeTheme->name;
         $this->view->activeThemeTitle = $activeTheme->title;
     }
     $manifest2 = $this->_getManifest($activeThemeName);
     if (isset($manifest2['package']['author']) && $manifest2['package']['author'] == 'YouNet Company') {
         $this->view->byYouNet = true;
     } else {
         $this->view->byYouNet = false;
     }
     $settings = Engine_Api::_()->getApi('settings', 'core');
     $values = (array) $settings->yntheme;
     $form->populate($values);
     if (!$this->getRequest()->isPost()) {
         return;
     }
     if (!$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     $db = Engine_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     try {
         $values = $form->getValues();
         $settings->yntheme = $values;
         $db->commit();
     } catch (Exception $e) {
         $db->rollback();
         throw $e;
     }
     $form->addNotice('Your changes have been saved.');
 }
示例#25
0
文件: install.php 项目: hoalangoc/ftf
 function onInstall()
 {
     parent::onInstall();
     $db = $this->getDb();
     $select = new Zend_Db_Select($db);
     $select->from('engine4_core_content')->where('name = ?', 'ynnotification.displays-notification')->limit(1);
     $widget = $select->query()->fetch();
     if (empty($widget)) {
         //$db = $this -> getDb();
         $selectPage = new Zend_Db_Select($db);
         $selectPage->from('engine4_core_pages')->where('name = ?', 'header')->limit(1);
         $page = $selectPage->query()->fetch();
         $db->insert('engine4_core_content', array('page_id' => $page['page_id'], 'type' => 'widget', 'name' => 'ynnotification.displays-notification', 'parent_content_id' => 100, 'order' => 999));
     }
     $db2 = Engine_Db_Table::getDefaultAdapter();
     $select = "INSERT IGNORE INTO `engine4_core_settings` (`name`, `value`) VALUES ('ynnotification.current.time','" . date('Y-m-d H:i:s') . "');";
     $data = $db2->query($select);
 }
示例#26
0
文件: Core.php 项目: hoalangoc/ftf
 public function onUserLoginAfter($event)
 {
     $viewer = Engine_Api::_()->user()->getViewer();
     // Save Ip
     if ($viewer->getIdentity() > 0) {
         if (is_string($viewer->lastlogin_ip)) {
             $ip = Engine_IP::normalizeAddress($viewer->lastlogin_ip);
             $prefix = Engine_Api::_()->getDbTable('ips', 'ynbanmem')->getTablePrefix();
             $q = "\t\t\t\n\t\t\t\tSELECT *\n\t  \t\t\tFROM `{$prefix}ynbanmem_ips` WHERE user_id = {$viewer->user_id} and ip = '{$ip}';\t\n\t\t\t\t";
             $results = Engine_Db_Table::getDefaultAdapter()->fetchRow($q);
             if (!$results) {
                 $date = date('Y-m-d H:i:s');
                 $q = "\t\t\t\n\t\t\t\t\tINSERT INTO `{$prefix}ynbanmem_ips` (user_id , ip, creation_date)\n\t\t\t\t\tVALUES ( {$viewer->user_id} , '{$ip}', '{$date}')\t  \t\t\t\n\t\t\t\t\t";
                 Engine_Db_Table::getDefaultAdapter()->query($q);
             }
         }
     }
 }
 public function approveAction()
 {
     // In smoothbox
     $this->_helper->layout->setLayout('admin-simple');
     $id = $this->_getParam('id', 0);
     $table = Engine_Api::_()->getDbTable('membershiprequests', 'user');
     $request = Engine_Api::_()->getItem('user_membershiprequest', $id);
     if (!request) {
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => true, 'parentRefresh' => false, 'messages' => array('Request not found.')));
     }
     if ($this->getRequest()->isPost()) {
         $viewer = Engine_Api::_()->user()->getViewer();
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->beginTransaction();
         $post = $this->getRequest()->getPost();
         try {
             $request->approved = 1;
             $request->save();
             // update subscription
             $packagesTable = Engine_Api::_()->getDbtable('packages', 'payment');
             $package = $packagesTable->fetchRow(array('enabled = ?' => 1, 'package_id = ?' => (int) $request->package_id));
             $user = Engine_Api::_()->getItem('user', $request->user_id);
             $subscriptionsTable = Engine_Api::_()->getDbtable('subscriptions', 'payment');
             $currentSubscription = $subscriptionsTable->fetchRow(array('user_id = ?' => $user->getIdentity(), 'active = ?' => true));
             $subscription = $subscriptionsTable->createRow();
             $subscription->setFromArray(array('package_id' => $package->package_id, 'user_id' => $user->getIdentity(), 'status' => 'initial', 'active' => false, 'creation_date' => new Zend_Db_Expr('NOW()')));
             $subscription->save();
             $subscription->setActive(true);
             $subscription->onPaymentSuccess();
             if ($currentSubscription) {
                 $currentSubscription->cancel();
             }
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             if (APPLICATION_ENV == 'development') {
                 throw $e;
             }
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => true, 'parentRefresh' => true, 'messages' => array('Request has been approved.')));
     }
 }
示例#28
0
 public function onUserDeleteBefore($event)
 {
     $payload = $event->getPayload();
     if ($payload instanceof User_Model_User) {
         // Remove from online users
         $onlineUsersTable = Engine_Api::_()->getDbtable('online', 'user');
         $onlineUsersTable->delete(array('user_id = ?' => $payload->getIdentity()));
         // Remove friends
         $payload->membership()->removeAllUserFriendship();
         // Remove all cases user is in a friend list
         $payload->lists()->removeUserFromLists();
         // Remove all friend list created by the user
         $payload->lists()->removeUserLists();
         // Remove facebook/twitter associations
         $db = Engine_Db_Table::getDefaultAdapter();
         $db->delete('engine4_user_facebook', array('user_id = ?' => $payload->getIdentity()));
         $db->delete('engine4_user_twitter', array('user_id = ?' => $payload->getIdentity()));
         $db->delete('engine4_user_janrain', array('user_id = ?' => $payload->getIdentity()));
     }
 }
示例#29
0
 public function addReasonAction()
 {
     $this->_helper->layout->setLayout('admin-simple');
     $form = $this->view->form = new Slprofileverify_Form_Admin_Reason();
     if (!$this->getRequest()->isPost() || !$form->isValid($this->getRequest()->getPost())) {
         return;
     }
     $values = $form->getValues();
     $reasonTable = Engine_Api::_()->getItemTable('slprofileverify_reason');
     $db = Engine_Db_Table::getDefaultAdapter();
     $db->beginTransaction();
     try {
         $reasonTable->insert(array('description' => $values['description'], 'create_date' => new Zend_Db_Expr('NOW()')));
         $db->commit();
     } catch (Exception $e) {
         $db->rollBack();
         throw $e;
     }
     return $this->_forward('success', 'utility', 'core', array('smoothboxClose' => 10, 'parentRefresh' => 10, 'messages' => array('successfully')));
 }
示例#30
0
 public function init()
 {
     // Get list of Member Types
     $db = Engine_Db_Table::getDefaultAdapter();
     $member_type_result = $db->select('option_id, label')->from('engine4_user_fields_options')->query()->fetchAll();
     $member_type_count = count($member_type_result);
     $member_type_array = array('null' => 'No, Create Blank Profile Type');
     for ($i = 0; $i < $member_type_count; $i++) {
         $member_type_array[$member_type_result[$i]['option_id']] = $member_type_result[$i]['label'];
     }
     $this->setMethod('POST')->setAttrib('class', 'global_form_smoothbox');
     // Add label
     $this->addElement('Text', 'label', array('label' => 'Profile Type Label', 'required' => true, 'allowEmpty' => false));
     // Duplicate Existing
     $this->addElement('Select', 'duplicate', array('label' => 'Duplicate Existing Profile Type?', 'required' => true, 'allowEmpty' => false, 'multiOptions' => $member_type_array));
     // Add submit
     $this->addElement('Button', 'submit', array('label' => 'Add Profile Type', 'type' => 'submit', 'decorators' => array('ViewHelper')));
     // Add cancel
     $this->addElement('Cancel', 'cancel', array('label' => 'cancel', 'link' => true, 'onclick' => 'parent.Smoothbox.close();', 'prependText' => ' or ', 'decorators' => array('ViewHelper')));
     $this->addDisplayGroup(array('submit', 'cancel'), 'buttons');
 }