File indexing completed on 2024-12-22 05:33:27
0001 <?php 0002 /** 0003 * ocs-webserver 0004 * 0005 * Copyright 2016 by pling GmbH. 0006 * 0007 * This file is part of ocs-webserver. 0008 * 0009 * This program is free software: you can redistribute it and/or modify 0010 * it under the terms of the GNU Affero General Public License as 0011 * published by the Free Software Foundation, either version 3 of the 0012 * License, or (at your option) any later version. 0013 * 0014 * This program is distributed in the hope that it will be useful, 0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 * GNU Affero General Public License for more details. 0018 * 0019 * You should have received a copy of the GNU Affero General Public License 0020 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0021 **/ 0022 0023 /** 0024 * Class Backend_MemberController 0025 * 0026 * @deprecated 0027 */ 0028 class Backend_MemberController extends Zend_Controller_Action 0029 { 0030 0031 /** @var Default_Model_Member */ 0032 protected $_model = null; 0033 0034 public function init() 0035 { 0036 $this->_model = new Default_Model_Member(); 0037 $this->initView(); 0038 } 0039 0040 0041 public function initView() 0042 { 0043 parent::initView(); // TODO: Change the autogenerated stub 0044 0045 $this->_helper->layout()->setLayoutPath(APPLICATION_PATH . "/modules/backend/layout"); 0046 $this->_helper->layout()->setLayout('layout'); 0047 0048 return $this->view; 0049 } 0050 0051 public function indexAction() 0052 { 0053 0054 } 0055 0056 0057 public function getmemberAction() 0058 { 0059 $this->_helper->layout->disableLayout(); 0060 0061 $start = $this->getParam('start', 0); 0062 $count = $this->getParam('count', 20); 0063 $sort = $this->getParam('sort', 'username'); 0064 $dir = $this->getParam('dir', 'yui-dt-desc'); 0065 $dir = ($dir == 'yui-dt-desc') ? 'DESC' : 'ASC'; 0066 $filter = $this->getParam('filter', null); 0067 0068 $sel = $this->_model->select()->setIntegrityCheck(false); 0069 $sel->from($this->_model, array( 0070 'member_id', 0071 'firstname', 0072 'lastname', 0073 'username', 0074 'mail', 0075 'paypal_mail', 0076 'created_at', 0077 'last_online', 0078 'mail_checked', 0079 'agb', 0080 'newsletter' 0081 ))->where('is_deleted=0')->where('is_active=1')->order($sort . ' ' . $dir)->limit($count, $start) 0082 ; 0083 0084 if ($filter) { 0085 foreach ($filter as $field => $value) { 0086 $sel->where($field . ' like "' . $value . '%"'); 0087 } 0088 } 0089 0090 $memberData = $this->_model->fetchAll($sel); 0091 $memberData = $memberData->toArray(); 0092 0093 $responsData['results'] = $memberData; 0094 0095 $sel2 = $this->_model->select(); 0096 $sel2->where('is_deleted=0')->where('is_active=1'); 0097 0098 $responsData['totalRecords'] = count($this->_model->fetchAll($sel2)->toArray()); 0099 0100 $this->_helper->json($responsData); 0101 } 0102 0103 0104 public function detailsAction() 0105 { 0106 $memberId = $this->getParam('id'); 0107 0108 $member = $this->_model->fetchRow('member_id=' . $memberId); 0109 0110 $this->view->member = $member; 0111 } 0112 0113 0114 public function editAction() 0115 { 0116 0117 } 0118 0119 public function deleteAction() 0120 { 0121 $this->_helper->layout->disableLayout(); 0122 0123 $member_id = $this->getParam('member_id'); 0124 0125 $this->_model->setDeleted($member_id); 0126 0127 $identity = Zend_Auth::getInstance()->getIdentity(); 0128 0129 try { 0130 Default_Model_ActivityLog::logActivity($member_id, null, $identity->member_id, 0131 Default_Model_ActivityLog::BACKEND_USER_DELETE, null); 0132 } catch (Exception $e) { 0133 Zend_Registry::get('logger')->err($e->getMessage() . PHP_EOL . $e->getTraceAsString()); 0134 } 0135 0136 $this->_helper->json(true); 0137 } 0138 0139 0140 public function closeAction() 0141 { 0142 0143 } 0144 0145 public function activateAction() 0146 { 0147 $this->_helper->layout->disableLayout(); 0148 0149 $member_id = $this->getParam('member_id'); 0150 0151 $this->_model->setActivated($member_id); 0152 0153 $this->_helper->json(true); 0154 } 0155 0156 public function doexcludeAction() 0157 { 0158 $memberId = (int)$this->getParam('member_id', null); 0159 $member = $this->_model->find($memberId)->current(); 0160 $exclude = (int)$this->getParam('pling_excluded', null); 0161 $excludOrg = $member['pling_excluded']; 0162 0163 $sql = "UPDATE `member` SET `pling_excluded` = :exclude WHERE `member_id` = :member_id"; 0164 $this->_model->getAdapter()->query($sql, array('exclude' => $exclude, 'member_id' => $memberId)); 0165 0166 $auth = Zend_Auth::getInstance(); 0167 $identity = $auth->getIdentity(); 0168 0169 $logArray = array(); 0170 $logArray['title'] = $member['username']; 0171 $logArray['description'] = 'Change pling_excluded from ' . $excludOrg . ' to ' . $exclude; 0172 0173 Default_Model_ActivityLog::logActivity($memberId, $memberId, $identity->member_id, 0174 Default_Model_ActivityLog::BACKEND_USER_PLING_EXCLUDED, $logArray); 0175 0176 $jTableResult = array(); 0177 $jTableResult['Result'] = 'OK'; 0178 0179 $this->_helper->json($jTableResult); 0180 } 0181 0182 private function getMemberForm() 0183 { 0184 0185 $form = new Zend_Form(); 0186 } 0187 0188 }