Example #1
0
 /**
  *   isValid Checks if group exists in db using Groups model's function
  *
  *   @param  $value string group name
  *   @return boolean
  */
 public function isValid($value)
 {
     $value = Oibs_Controller_CustomController::replaceWhitespace($value);
     $this->_setValue($value);
     $groupModel = new Default_Model_Groups();
     if (is_array($this->_options) && array_key_exists('oldname', $this->_options)) {
         // Edit mode - name can be the same as 'oldname'.
         //die('edit mode, oldname = ' . $options['oldname']);
         if ($value == $this->_options['oldname']) {
             // Name hasn't changed, so it's still valid.
             return true;
         } else {
             // Name has changed - check if it exists.
             if ($groupModel->groupExists($value)) {
                 $this->_error(self::NOT_MATCH);
                 return false;
                 // if the group exists, the form is not valid
             } else {
                 return true;
                 // if the group doesn't exist, the form is valid
             }
         }
     } else {
         // Create mode - check normally.
         if ($groupModel->groupExists($value)) {
             $this->_error(self::NOT_MATCH);
             return false;
             // if the group exists, the form is not valid
         } else {
             return true;
             // if the group doesn't exist, the form is valid
         }
     }
 }
 public function indexAction()
 {
     $grpmodel = new Default_Model_Groups();
     $cmpmodel = new Default_Model_Campaigns();
     $grpadm = new Default_Model_GroupAdmins();
     // If you find a better way to do this, be my guest.
     $cmps = $cmpmodel->getRecent(15);
     $cmps_new = array();
     foreach ($cmps as $cmp) {
         $grp = $grpmodel->getGroupData($cmp['id_grp_cmp']);
         $cmp['group_name_grp'] = $grp['group_name_grp'];
         $cmps_new[] = $cmp;
     }
     // See previous comment.
     $grps = $grpmodel->getRecent(12);
     $grps_new = array();
     foreach ($grps as $grp) {
         $adm = $grpadm->getGroupAdmins($grp['id_grp']);
         $grp['id_admin'] = $adm[0]['id_usr'];
         $grp['login_name_admin'] = $adm[0]['login_name_usr'];
         $grps_new[] = $grp;
     }
     $this->view->campaigns = $cmps_new;
     $this->view->groups = $grps_new;
 }
Example #3
0
 public function init()
 {
     $this->setMethod('post');
     $this->setAttrib('action', DOMAIN . 'reports/userlogreport');
     $this->setAttrib('id', 'logreport');
     $this->setAttrib('name', 'logreport');
     $emprole = new Zend_Form_Element_Select('emp_role');
     $emprole->setLabel('Employee Role');
     $emprole->setAttrib('onchange', 'changeelement(this)');
     $roleModel = new Default_Model_Roles();
     $roleList = $roleModel->getRolesList_USERLOG();
     $emprole->addMultiOption('', 'Select Employee Role');
     foreach ($roleList as $roleid => $rolename) {
         $emprole->addMultiOption($roleid, $rolename);
     }
     $group = new Zend_Form_Element_Select('group');
     $group->setLabel('Group');
     $group->setAttrib('onchange', 'changeelement(this)');
     $groupModel = new Default_Model_Groups();
     $groupList = $groupModel->getGroupList();
     $group->addMultiOption('', 'Select Group');
     foreach ($groupList as $groupid => $groupname) {
         $group->addMultiOption($groupid, $groupname);
     }
     $employeeId = new Zend_Form_Element_Text('employeeIdf');
     $employeeId->setAttrib('onblur', 'clearautocompleteuserlog(this)');
     $employeeId->addFilter(new Zend_Filter_StringTrim());
     $employeeId->setLabel("Employee ID");
     $username = new Zend_Form_Element_Text('username');
     $username->setAttrib('class', 'formelement');
     $username->setAttrib('onblur', 'clearautocompleteuserlog(this)');
     $username->addFilter(new Zend_Filter_StringTrim());
     $username->setLabel("User Name");
     $emailId = new Zend_Form_Element_Text('emailId');
     $emailId->setAttrib('onblur', 'clearautocompleteuserlog(this)');
     $emailId->addFilter(new Zend_Filter_StringTrim());
     $emailId->setLabel("Email");
     $logindate = new ZendX_JQuery_Form_Element_DatePicker('logindate');
     $logindate->setAttrib('onblur', 'blurelement(this)');
     $logindate->setLabel("Login Date");
     $logindate->setAttrib('readonly', 'true');
     $logindate->setAttrib('onfocus', 'this.blur()');
     $logindate->setOptions(array('class' => 'brdr_none'));
     $ipaddress = new Zend_Form_Element_Text('ipaddress');
     $ipaddress->setAttrib('onblur', 'clearautocompleteuserlog(this)');
     $ipaddress->addFilter(new Zend_Filter_StringTrim());
     $ipaddress->setLabel("Ip Address");
     $this->addElements(array($emprole, $group, $employeeId, $username, $emailId, $logindate, $ipaddress));
     $this->setElementDecorators(array('ViewHelper'));
     $this->setElementDecorators(array('UiWidgetElement'), array('logindate'));
 }
Example #4
0
 /**
  *   isValid Checks if group exists in db using Groups model's function
  *
  *   @param  $value string group name
  *   @return boolean
  */
 public function isValid($value)
 {
     $value = (string) $value;
     $this->_setValue($value);
     $groupModel = new Default_Model_Groups();
     if ($groupModel->groupExists($value)) {
         $this->_error(self::NOT_MATCH);
         return false;
         // if the group exists, the form is not valid
     } else {
         return true;
         // if the group doesn't exist, the form is valid
     }
 }
Example #5
0
 function init()
 {
     // Set the method for the display form to POST
     $this->setMethod('post');
     $this->addAttribs(array('id' => 'addExpense', 'class' => ''));
     $this->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
     $control = new Zend_Form_Element_Hidden('control');
     $control->setValue('addExpense');
     $this->addElement($control);
     // begin inputs
     $name = new Zend_Form_Element_Text('name');
     $name->setAttribs(array('class' => 'text validate[required] rightAdd', 'placeholder' => Zend_Registry::get('translate')->_('admin_recurrent_expense_description')));
     $name->setRequired(true);
     $this->addElement($name);
     $price = new Zend_Form_Element_Text('price');
     $price->setAttribs(array('class' => 'text validate[required] rightAdd', 'placeholder' => Zend_Registry::get('translate')->_('admin_price')));
     $price->setRequired(true);
     $this->addElement($price);
     //BEGIN: Date
     $date = new Zend_Form_Element_Text('date');
     $date->setAttribs(array('class' => 'rightAdd dateSearch w_315', 'placeholder' => 'Date'));
     $date->setLabel('Select day');
     $this->addElement($date);
     // END: Date
     //BEGIN:Id Group
     $idGroup = new Zend_Form_Element_Select('idGroup');
     $options = array();
     $pm = new Default_Model_Groups();
     $select = $pm->getMapper()->getDbTable()->select()->where('NOT deleted')->order('name ASC');
     $result = $pm->fetchAll($select);
     if (NULL != $result) {
         foreach ($result as $value) {
             $options[$value->getId()] = $value->getName();
         }
     }
     $idGroup->addMultiOptions($options);
     $idGroup->addValidator(new Zend_Validate_InArray(array_keys($options)));
     $idGroup->setAttribs(array('class' => 'select'));
     $idGroup->setRequired(false);
     $this->addElement($idGroup);
     //END:Id Group
     $submit = new Zend_Form_Element_Submit('submit');
     $submit->setValue(Zend_Registry::get('translate')->_('admin_add_recurrent_expense'));
     $submit->setAttribs(array('class' => 'submit'));
     $submit->setIgnore(true);
     $this->addElement($submit);
 }
Example #6
0
 function init()
 {
     $this->setMethod('post');
     $this->addAttribs(array('id' => 'filterForm', 'class' => ''));
     $this->setAction(WEBROOT . 'recurrent-expenses');
     // BEGIN: nume text
     $nameSearch = new Zend_Form_Element_Text('nameSearch');
     $nameSearch->setAttribs(array('class' => 'text large', 'placeholder' => Zend_Registry::get('translate')->_('admin_name')));
     $nameSearch->setRequired(false);
     $this->addElement($nameSearch);
     // END: nume text
     // BEGIN: prenume text
     $idGroupSearch = new Zend_Form_Element_Select('idGroupSearch');
     $options = array('' => Zend_Registry::get('translate')->_('admin_select_expense'));
     $groups = new Default_Model_Groups();
     $select = $groups->getMapper()->getDbTable()->select()->where('type=?', 0)->where('NOT deleted')->order('name ASC');
     $result = $groups->fetchAll($select);
     if (NULL != $result) {
         foreach ($result as $value) {
             $options[$value->getId()] = $value->getName();
         }
     }
     $idGroupSearch->addMultiOptions($options);
     $idGroupSearch->addValidator(new Zend_Validate_InArray(array_keys($options)));
     $idGroupSearch->setAttribs(array('class' => 'select uniformSelect filter_selector'));
     $idGroupSearch->setRequired(false);
     $this->addElement($idGroupSearch);
     // END: prenume text
     // BEGIN: fromDate text
     $fromDate = new Zend_Form_Element_Text('fromDate');
     $fromDate->setAttribs(array('class' => 'text large', 'placeholder' => Zend_Registry::get('translate')->_('admin_from_date')));
     $fromDate->setRequired(false);
     $this->addElement($fromDate);
     // END: fromDate text
     // BEGIN: toDate text
     $toDate = new Zend_Form_Element_Text('toDate');
     $toDate->setAttribs(array('class' => 'text large', 'placeholder' => Zend_Registry::get('translate')->_('admin_to_date')));
     $toDate->setRequired(false);
     $this->addElement($toDate);
     // END: toDate text
     $search = new Zend_Form_Element_Submit('searchProduct');
     $search->setValue(Zend_Registry::get('translate')->_('admin_filter'));
     $search->setAttribs(array('class' => 'submit'));
     $search->setIgnore(true);
     $this->addElement($search);
 }
Example #7
0
 /**
  * This function gives all content for grid view.
  * @parameters
  * @param $sort          = ascending or descending
  * @param $by            = name of field which to be sort
  * @param $pageNo        = page number
  * @param $perPage       = no.of records per page
  * @param $searchData    = search string
  * @param $call          = type of call like ajax.
  * @return  Array;
  */
 public function getUserLoginLogGrid($sort, $by, $perPage, $pageNo, $searchData, $call, $p1, $p2, $p3, $p4, $p5)
 {
     $group_model = new Default_Model_Groups();
     $role_model = new Default_Model_Roles();
     $user_model = new Default_Model_Users();
     $searchQuery = '';
     $searchArray = array();
     $data = array();
     if ($searchData != '' && $searchData != 'undefined') {
         $searchValues = json_decode($searchData);
         if (count($searchValues) > 0) {
             foreach ($searchValues as $key => $val) {
                 if ($key == 'userfullname' || $key == 'employeeId' || $key == 'emailaddress' || $key == 'empipaddress') {
                     $searchQuery .= " r." . $key . " like '%" . $val . "%' AND ";
                 } else {
                     if ($key == 'logindatetime') {
                         $searchQuery .= " " . $key . " like '%" . sapp_Global::change_date(urldecode($val), 'database') . "%' AND ";
                     } else {
                         if ($key == 'rolename') {
                             $searchQuery .= " ro." . $key . " like '%" . $val . "%' AND ";
                         } else {
                             $searchQuery .= " " . $key . " like '%" . $val . "%' AND ";
                         }
                     }
                 }
                 $searchArray[$key] = $val;
             }
             $searchQuery = rtrim($searchQuery, " AND");
         }
     }
     $objName = 'userloginlog';
     $tableFields = array('action' => 'Action', 'userfullname' => 'User', 'profileimg' => 'Profile', 'employeeId' => 'Employee ID', 'group_name' => 'Group', 'rolename' => 'Role', 'emailaddress' => 'Email', 'logindatetime' => 'Login Time', 'empipaddress' => 'Ip Address');
     $tablecontent = $this->getUserLoginLogData($sort, $by, $pageNo, $perPage, $searchQuery);
     $group_data = $group_model->getGroupsListForUserLoginLog();
     $group_arr = array();
     foreach ($group_data as $gkey => $gdata) {
         $group_arr[$gdata['group_name']] = $gdata['group_name'];
     }
     $role_data = $role_model->getRoleListForUserLoginLog();
     $role_arr = array();
     foreach ($role_data as $gkey => $gdata) {
         $role_arr[$gdata['rolename']] = $gdata['rolename'];
     }
     $dataTmp = array('sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'menuName' => 'User log', 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'call' => $call, 'search_filters' => array('group_name' => array('type' => 'select', 'filter_data' => array('' => 'All') + $group_arr), 'rolename' => array('type' => 'select', 'filter_data' => array('' => 'All') + $role_arr), 'logindatetime' => array('type' => 'datepicker')));
     return $dataTmp;
 }
Example #8
0
 function getrecentgroupsAction()
 {
     $offset = isset($this->params['offset']) ? $this->params['offset'] : 0;
     $grpmodel = new Default_Model_Groups();
     $grpadm = new Default_Model_GroupAdmins();
     $usrHasGrp = new Default_Model_UserHasGroup();
     $cmpmodel = new Default_Model_Campaigns();
     $grps = $grpmodel->getRecentFromOffset($offset, 10);
     $grps_new = array();
     foreach ($grps as $grp) {
         $adm = $grpadm->getGroupAdmins($grp['id_grp']);
         $grp['id_admin'] = $adm[0]['id_usr'];
         $grp['login_name_admin'] = $adm[0]['login_name_usr'];
         $grp['campaign_count'] = count($cmpmodel->getCampaignsByGroup($grp['id_grp']));
         $grp['member_count'] = count($usrHasGrp->getAllUsersInGroup($grp['id_grp']));
         $grps_new[] = $grp;
     }
     $this->view->recentgroups = $grps_new;
 }
Example #9
0
 /**
  * listAction - shows a list of all campaigns
  */
 function listAction()
 {
     $grpmodel = new Default_Model_Groups();
     $cmpmodel = new Default_Model_Campaigns();
     // If you find a better way to do this, be my guest.
     $cmps = $cmpmodel->getAll()->toArray();
     $cmps_new = array();
     foreach ($cmps as $cmp) {
         $grp = $grpmodel->getGroupData($cmp['id_grp_cmp']);
         $cmp['group_name_grp'] = $grp['group_name_grp'];
         $cmps_new[] = $cmp;
     }
     $this->view->campaigns = $cmps_new;
 }
Example #10
0
File: Tools.php Project: valizr/MMA
 public static function getGroupName($id)
 {
     $model = new Default_Model_Groups();
     $model->find($id);
     return $model->getName();
 }
Example #11
0
 /**
  * getGroupData - Get group data and realted stuff
  *
  * @param int $grpId
  * @return array
  */
 private function getGroupData($grpId)
 {
     // Get authentication
     $auth = Zend_Auth::getInstance();
     // Get group data
     $grpModel = new Default_Model_Groups();
     $grpData = $grpModel->getGroupData($grpId);
     $grpData['description_grp'] = $this->oibs_nl2p($grpData['description_grp']);
     //$grpData['description_grp'] = str_replace("\n", '<br>', $grpData['description_grp']);
     $grpData['body_grp'] = $this->oibs_nl2p($grpData['body_grp'], "");
     //$grpData['body_grp'] = str_replace("\n", '<br>', $grpData['body_grp']);
     // User has identity
     if ($auth->hasIdentity()) {
         $grpData['user_identity'] = true;
         $grpData['user_id'] = $auth->getIdentity()->user_id;
     } else {
         $grpData['user_identity'] = false;
     }
     // Group admins
     $grpAdminsModel = new Default_Model_GroupAdmins();
     $grpAdmins = $grpAdminsModel->getGroupAdmins($grpId);
     $grpData['grp_admins'] = $grpAdmins;
     $user = $auth->getIdentity();
     $grpData['user_is_group_admin'] = isset($user->user_id) ? $this->checkIfArrayHasKeyWithValue($grpAdmins, 'id_usr', $user->user_id) : false;
     // Group type
     $grpTypeId = $grpModel->getGroupTypeId($grpId);
     $grpTypeModel = new Default_Model_GroupTypes();
     $grpData['is_closed'] = $grpTypeModel->isClosed($grpTypeId);
     // usrHasGrp models
     if (isset($user->user_id)) {
         $usrHasGrpModel = new Default_Model_UserHasGroup();
         $grpData['user_has_group'] = $usrHasGrpModel->userHasGroup($grpId, $user->user_id);
         $usrHasGrpWaitingModel = new Default_Model_UserHasGroupWaiting();
         $grpData['user_has_group_waiting'] = $usrHasGrpWaitingModel->userWaitingGroup($grpId, $user->user_id);
         $grpData['usr_waiting_count'] = $usrHasGrpWaitingModel->getUserCountByGroup($grpId);
     } else {
         $grpData['user_has_group'] = false;
         $grpData['user_has_group_waiting'] = false;
     }
     return $grpData;
 }
Example #12
0
 function createAction()
 {
     // Add the "add new group"-form to the view.
     $form = new Default_Form_AddGroupForm();
     $this->view->form = $form;
     // If the form is posted and valid, add the new group to db.
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post = $request->getPost();
         if ($form->isValid($post)) {
             // Add new group to db.
             $groupModel = new Default_Model_Groups();
             $newGroupId = $groupModel->createGroup($post['groupname'], $post['groupdesc'], $post['groupbody']);
             // Add the current user to the new group.
             $userHasGroupModel = new Default_Model_UserHasGroup();
             $userHasGroupModel->addUserToGroup($newGroupId, $this->view->userid);
             // Make the current user an admin for the new group.
             $groupAdminModel = new Default_Model_GroupAdmins();
             $groupAdminModel->addAdminToGroup($newGroupId, $this->view->userid);
             $target = $this->_urlHelper->url(array('groupid' => $newGroupId, 'language' => $this->view->language), 'group_shortview', true);
             $this->_redirector->gotoUrl($target);
         }
     }
 }
Example #13
0
 /**
  * This function is used as helper function for building menu.
  * @param Integer $group_id   = id of group
  * @param Integer $role_id    = id of role(useful when calling from different controller)
  * @param Integer $id         = id of role(fetch privileges of a particular role)
  * @return Array Array of menu items,privileges etc.
  */
 public function getgroup_formenu($group_id, $role_id, $id)
 {
     $priveleges_model = new Default_Model_Privileges();
     $group_model = new Default_Model_Groups();
     $group_data = $group_model->getGroupDataById($group_id);
     $res = $this->getMenuArray_formenu($role_id, $group_id);
     $tmpArr = array();
     $tmpMenuArr = array();
     $tmpMenuDataArr = array();
     for ($i = 0; $i < sizeof($res); $i++) {
         $tmpMenuArr[$res[$i]['id']] = $res[$i]['parent'];
         $tmp = array();
         $tmp['id'] = $res[$i]['id'];
         $tmp["parent"] = $res[$i]['parent'];
         $tmp["menuName"] = $this->getMenuText($res[$i]['menuName'], $role_id);
         $tmp["iconPath"] = $res[$i]['iconPath'];
         $tmp["url"] = $res[$i]['url'];
         $tmp['default_permissions']["addpermission"] = $res[$i]['addpermission'];
         $tmp['default_permissions']["editpermission"] = $res[$i]['editpermission'];
         $tmp['default_permissions']["deletepermission"] = $res[$i]['deletepermission'];
         $tmp['default_permissions']["viewpermission"] = $res[$i]['viewpermission'];
         $tmp['default_permissions']["uploadattachments"] = $res[$i]['uploadattachments'];
         $tmp['default_permissions']["viewattachments"] = $res[$i]['viewattachments'];
         $tmpMenuDataArr[$res[$i]['id']] = $tmp;
     }
     /**
      ** prepare an array with parent and second level menus - $tmpArr
      **/
     $emptyArr = array();
     foreach ($tmpMenuArr as $key => $value) {
         if ($value == 0 && !array_key_exists($value, $tmpArr)) {
             $tmpArr[$key] = $emptyArr;
             $tmpArr[$key] = $tmpMenuDataArr[$key];
         } else {
             if (array_key_exists($value, $tmpArr) && !array_key_exists($key, $tmpArr[$value])) {
                 $tmpArr[$value]['childs'][$key] = $tmpMenuDataArr[$key];
             }
         }
     }
     foreach ($tmpArr as $key => $value_arr) {
         if (is_array($value_arr)) {
             if (isset($value_arr['childs']) && is_array($value_arr['childs'])) {
                 foreach ($value_arr['childs'] as $c_key => $ch_value) {
                     foreach ($tmpMenuArr as $tkey => $tvalue) {
                         if ($tvalue == $c_key && !array_key_exists($tkey, $tmpArr)) {
                             $tmpArr[$key]['childs'][$c_key]['childs'][$tkey] = $tmpMenuDataArr[$tkey];
                         }
                     }
                 }
             }
         }
     }
     //end of foreach.
     $menu_data = array();
     $menu_data_post = array();
     $permission_data = array();
     if ($id != '') {
         $mdata = $priveleges_model->getMenuItemsByRoleId($id);
         foreach ($mdata as $val_arr) {
             $menu_data[] = $val_arr['object'];
             $menu_data_post[$val_arr['id']] = $val_arr['object'];
             if (isset($tmpMenuArr[$val_arr['object']])) {
                 if ($tmpMenuArr[$val_arr['object']] != 0) {
                     $menu_data[] = $tmpMenuArr[$val_arr['object']];
                 }
             }
             $permission_data[$val_arr['object']]['addpermission'] = $val_arr['addpermission'];
             $permission_data[$val_arr['object']]['editpermission'] = $val_arr['editpermission'];
             $permission_data[$val_arr['object']]['deletepermission'] = $val_arr['deletepermission'];
             $permission_data[$val_arr['object']]['viewpermission'] = $val_arr['viewpermission'];
             $permission_data[$val_arr['object']]['uploadattachments'] = $val_arr['uploadattachments'];
             $permission_data[$val_arr['object']]['viewattachments'] = $val_arr['viewattachments'];
         }
         $menu_data1 = array();
         foreach ($menu_data as $menu_id) {
             if (array_key_exists($menu_id, $tmpMenuArr)) {
                 $menu_data1[] = $tmpMenuArr[$menu_id];
             }
         }
         $menu_data1 = array_unique($menu_data1);
         $menu_data = array_unique($menu_data);
         $menu_data = array_merge_recursive($menu_data, $menu_data1);
     }
     $return_arr = array('tmpArr' => $tmpArr, 'menu_data_post' => $menu_data_post, 'menu_data' => $menu_data, 'permission_data' => $permission_data, 'group_data' => $group_data);
     return $return_arr;
 }
Example #14
0
 /**
  * viewAction
  *
  * Show the campaign view page
  */
 public function viewAction()
 {
     $auth = Zend_Auth::getInstance();
     $user = $auth->getIdentity();
     $cmpid = $this->_request->getParam('cmpid');
     $cmpmodel = new Default_Model_Campaigns();
     // Check if campaign exists
     if (!isset($cmpid) || !$cmpmodel->campaignExists($cmpid)) {
         $target = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->_redirector->gotoUrl($target);
     }
     // Get campaign & its contents.
     $cmp = $cmpmodel->getCampaignById($cmpid)->toArray();
     $cmp['ingress_cmp'] = str_replace("\n", '<br>', $cmp['ingress_cmp']);
     $cmp['description_cmp'] = str_replace("\n", '<br>', $cmp['description_cmp']);
     $cnts = $cmpmodel->getAllContentsInCampaign($cmpid);
     // If user has identity
     if ($auth->hasIdentity()) {
         $this->view->identity = true;
         $uhgModel = new Default_Model_UserHasGroup();
         $this->view->userHasGroup = $uhgModel->userHasGroup($cmp['id_grp_cmp'], $user->user_id);
         // Get group admins.
         $grpAdminsModel = new Default_Model_GroupAdmins();
         $grpAdmins = $grpAdminsModel->getGroupAdmins($cmp['id_grp_cmp']);
         $this->view->userIsGroupAdmin = $this->checkIfArrayHasKeyWithValue($grpAdmins, 'id_usr', $user->user_id);
     } else {
         $this->view->identity = false;
     }
     // Campaign weblinks
     $campaignWeblinksModel = new Default_Model_CampaignWeblinks();
     $cmp['campaignWeblinks'] = $campaignWeblinksModel->getCampaignWeblinks($cmpid);
     $i = 0;
     foreach ($cmp['campaignWeblinks'] as $weblink) {
         if (strlen($weblink['name_cwl']) == 0 || strlen($weblink['url_cwl']) == 0) {
             unset($cmp['campaignWeblinks'][$i]);
         }
         $i++;
     }
     // Get group info.
     $grpmodel = new Default_Model_Groups();
     $grp = $grpmodel->getGroupData($cmp['id_grp_cmp']);
     $grpname = $grp['group_name_grp'];
     // Get campaign campaigns
     $cmpHasCmpModel = new Default_Model_CampaignHasCampaign();
     $linkedcampaigns = $cmpHasCmpModel->getCampaignCampaigns($cmpid);
     $linkedcampaigns = array_merge($linkedcampaigns['parents'], $linkedcampaigns['childs']);
     // Get files
     $filesModel = new Default_Model_Files();
     $files = $filesModel->getFilenames($cmpid, "campaign");
     $comments = new Oibs_Controller_Plugin_Comments("campaign", $cmpid);
     if ($this->view->identity) {
         $comments->allowComments(true);
     }
     $this->view->jsmetabox->append('commentUrls', $comments->getUrls());
     $comments->loadComments();
     $this->view->hasFeeds = Oibs_Controller_Plugin_RssReader::hasFeeds($cmpid, "campaign");
     $this->view->comments = $comments;
     $this->view->campaign = $cmp;
     $this->view->cmpcnts = $cnts;
     $this->view->grpname = $grpname;
     $this->view->linkedcampaigns = $linkedcampaigns;
     $this->view->status = $cmpmodel->getStatus($cmpid);
     $this->view->files = $files;
 }
Example #15
0
 /**
  *	Show mainpage and list newest and most viewed ideas and problems
  */
 function indexAction()
 {
     // Variable for number recent campaigns to be sent to view
     $recentCampaignsCount = 0;
     $this->view->title = "index-home";
     // Get cache from registry
     $cache = Zend_Registry::get('cache');
     // $contentTypesModel = new Default_Model_ContentTypes();
     // $userModel = new Default_Model_User();
     // Load recent posts from cache
     $cachePosts = 'IndexPosts_' . $this->view->language;
     if (!($result = $cache->load($cachePosts))) {
         $contentModel = new Default_Model_Content();
         $contentHasTagModel = new Default_Model_ContentHasTag();
         // get data
         //($cty = 'all', $page = 1, $count = -1, $order = 'created', $lang = 'en', $ind = 0)
         $recentposts_raw = $contentModel->listRecent('all', 12, -1, 'created', $this->view->language, -1);
         $recentposts = array();
         $i = 0;
         // gather data for recent posts
         foreach ($recentposts_raw as $post) {
             $recentposts[$i] = $post;
             $recentposts[$i]['tags'] = $contentHasTagModel->getContentTags($post['id_cnt']);
             $i++;
         }
         // Save recent posts data to cache
         $cache->save($recentposts, $cachePosts);
     } else {
         $recentposts = $result;
     }
     // Load most popular tags from cache
     if (!($result = $cache->load('IndexTags'))) {
         $tagsModel = new Default_Model_Tags();
         $tags = $tagsModel->getPopular(20);
         /*
         // resize tags
         foreach ($tags as $k => $tag) {
             $size = round(50 + ($tag['count'] * 30));
             if ($size > 300) {
                 $size = 300;
             }
             $tags[$k]['tag_size'] = $size;
         }
         */
         // Action helper for tags
         $tags = $this->_helper->tagsizes->popularTagCalc($tags);
         // Action helper for define is tag running number divisible by two
         $tags = $this->_helper->tagsizes->isTagDivisibleByTwo($tags);
         // Save most popular tags data to cache
         $cache->save($tags, 'IndexTags');
     } else {
         $tags = $result;
     }
     // Laod most active users from cache
     if (!($result = $cache->load('IndexUsers'))) {
         $contentHasUserModel = new Default_Model_ContentHasUser();
         $activeusers = $contentHasUserModel->getMostActive(5);
         // Save most active users data to cache
         $cache->save($activeusers, 'IndexUsers');
     } else {
         $activeusers = $result;
     }
     // inject data to view
     if (isset($recentposts)) {
         $this->view->recentposts = $recentposts;
     } else {
         $this->view->recentposts = '';
     }
     // Get recent campaigns
     $grpmodel = new Default_Model_Groups();
     $campaignModel = new Default_Model_Campaigns();
     $recentcampaigns = $campaignModel->getRecent(5);
     // If you find (time to think of) a better way to do this, be my guest.
     $cmps_new = array();
     foreach ($recentcampaigns as $cmp) {
         $grp = $grpmodel->getGroupData($cmp['id_grp_cmp']);
         $cmp['group_name_grp'] = $grp['group_name_grp'];
         $cmps_new[] = $cmp;
     }
     // Get recent groups
     $grps = $grpmodel->getRecent(5);
     $grps_new = array();
     $grpadm = new Default_Model_GroupAdmins();
     foreach ($grps as $grp) {
         $adm = $grpadm->getGroupAdmins($grp['id_grp']);
         $grp['id_admin'] = $adm[0]['id_usr'];
         $grp['login_name_admin'] = $adm[0]['login_name_usr'];
         $grps_new[] = $grp;
     }
     $this->view->campaigns = $cmps_new;
     $this->view->groups = $grps_new;
     $this->view->poptags = $tags;
     $this->view->activeusers = $activeusers;
     $this->view->isLoggedIn = Zend_Auth::getInstance()->hasIdentity();
     $this->view->recentCampaignsCount = $recentCampaignsCount;
 }
Example #16
0
 public function deleteAction()
 {
     $userId = NULL;
     $auth = Zend_Auth::getInstance();
     $authAccount = $auth->getStorage()->read();
     if (null != $authAccount) {
         if (null != $authAccount->getId()) {
             $userId = $authAccount->getId();
         }
     }
     $id = $this->getRequest()->getParam('id');
     $model = new Default_Model_Groups();
     if ($model->find($id)) {
         if ($groupId = $model->delete()) {
             Needs_Tools::DeleteLegaturibyGroup($groupId);
             $this->_flashMessenger->addMessage("<div class='success  canhide'><p>Group was deleted successfully!<a href='javascript:;'></a></p></div>");
         } else {
             $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Group was not deleted!<a href='javascript:;'></a></p></div>");
         }
         $this->_redirect('groups');
     }
 }
Example #17
0
 function edit(Default_Model_Groups $model)
 {
     $idGroup = new Zend_Form_Element_Hidden('idGroup');
     $idGroup->setValue($model->getId());
     $this->addElement($idGroup);
     //		$idProduct = new Zend_Form_Element_Multiselect('idProduct');
     //		$idProductGroups = new Zend_Form_Element_Hidden('idProductGroups');
     //
     //		//$options= array(''=>'Selectati Produsele Grupului');
     //		$pm = new Default_Model_Expenses();
     //		$pg = new Default_Model_ProductGroups();
     //		$selectpg = $pg->getMapper()->getDbTable()->select()
     //				->where('NOT deleted')
     //				->where('idGroup = ?',$model->getId())
     //				->order('order ASC');
     //		$resultpg = $pg->fetchAll($selectpg);
     //
     //		$select = $pm->getMapper()->getDbTable()->select()
     //												->where('NOT deleted');
     //		$result = $pm->fetchAll($select);
     //		if(NULL != $result)
     //		{
     //			$selectedProd=array();
     //			foreach($result as $value){//all products
     //				$gasit=false;
     //				foreach ($resultpg as $key=>$valuepg){//all existing products from group
     //					if ($value->getId()==$valuepg->getIdProduct()){
     //						$optionspg[$key][$value->getId()] = $value->getName();
     //						$gasit=true;
     //						$selectedProd[$key]=$value->getId();
     //					}
     //				}
     //				if ($gasit==false) $options[$value->getId()] = $value->getName();
     //			}
     //		}
     //		$idProduct->addMultiOptions($options);
     //		$idProduct->addValidator(new Zend_Validate_InArray(array_keys($options)));
     //		$idProduct->setAttribs(array('class'=>'select_prodgroups','id'=>'select-from'));
     //		$idProduct->setRequired(false);
     //		$this->addElement($idProduct);
     //
     //
     //		//$idProductGroups->addMultiOptions($optionspg);
     //	//	$idProductGroups->setRegisterInArrayValidator(false);
     //	//	$idProductGroups->setAttribs(array('class'=>'select','id'=>'select-to'));
     //		$idProductGroups->setRequired(false);
     //		$this->addElement($idProductGroups);
     //
     //		$selectedProducts = new Zend_Form_Element_Hidden('selectedProducts');
     //		ksort($selectedProd);
     //		$selectedProducts->setValue(implode(",",$selectedProd));
     //		$this->addElement($selectedProducts);
     //		//print_r ($optionspg);
     //		//die();
     //		if ($optionspg){
     //			ksort($optionspg);
     //			$rezOptionpg=array();
     //			foreach($optionspg as $val) {
     //				foreach($val as $key=>$value){
     //				$rezOptionpg[$key]=$value;
     //				}
     //			  }
     //			$this->idProductGroups->setValue(($rezOptionpg!='')?http_build_query($rezOptionpg):'');
     //		}
     $this->name->setValue($model->getName());
     $this->type->setValue($model->getType());
     $this->color->setValue($model->getColor());
     $this->submit->setValue(Zend_Registry::get('translate')->_('admin_modify'));
 }
Example #18
0
 public function delete(Default_Model_Groups $value)
 {
     $id = $value->getId();
     $data = array('deleted' => '1');
     $this->getDbTable()->update($data, array('id = ?' => $id));
     //logs	action done
     //$user_name = $value->getUserName()->getName().' '.$value->getUserName()->getSurname();
     $product_name = $value->getName();
     $action_done = ' User deleted the group ' . $product_name . ' ';
     Needs_Logs::DbLogTracking(0, $id, 'groups', 'stergere', $action_done);
     //end logs action done
     return $id;
 }
Example #19
0
 public function createreportuserlogfinalArray($userLogData, $selectColumns)
 {
     $userArray = array();
     $empRoleArray = array();
     $groupArray = array();
     if (!empty($userLogData)) {
         foreach ($userLogData as $key => $curr) {
             if (isset($curr['userid'])) {
                 if (!in_array($curr['userid'], $userArray)) {
                     array_push($userArray, $curr['userid']);
                 }
             }
             if (isset($curr['emprole'])) {
                 if (!in_array($curr['emprole'], $empRoleArray)) {
                     array_push($empRoleArray, $curr['emprole']);
                 }
             }
             if (isset($curr['group_id'])) {
                 if (!in_array($curr['group_id'], $groupArray)) {
                     array_push($groupArray, $curr['group_id']);
                 }
             }
         }
     }
     if (!empty($empRoleArray)) {
         $roleModel = new Default_Model_Roles();
         $roleNameArray = $roleModel->getEmpRoleNamesByIds($empRoleArray);
     }
     if (!empty($groupArray)) {
         $groupModel = new Default_Model_Groups();
         $groupNameArray = $groupModel->getGroupNamesByIds($groupArray);
     }
     $finalArray = array();
     if (!empty($userLogData)) {
         foreach ($userLogData as $key => $curr) {
             if (in_array("userfullname", $selectColumns)) {
                 $finalArray[$key]['userfullname'] = $curr['userfullname'];
             }
             if (in_array("employeeId", $selectColumns)) {
                 $finalArray[$key]['employeeId'] = $curr['employeeId'];
             }
             if (in_array("group_id", $selectColumns)) {
                 $finalArray[$key]['group_id'] = isset($groupNameArray[$curr['group_id']]) ? $groupNameArray[$curr['group_id']] : '';
             }
             if (in_array("emprole", $selectColumns)) {
                 $finalArray[$key]['emprole'] = isset($roleNameArray[$curr['emprole']]) ? $roleNameArray[$curr['emprole']] : '';
             }
             if (in_array("emailaddress", $selectColumns)) {
                 $finalArray[$key]['emailaddress'] = $curr['emailaddress'];
             }
             if (in_array("logindatetime", $selectColumns)) {
                 $finalArray[$key]['logindatetime'] = sapp_Global::getDisplayDate($curr['logindatetime']);
             }
             if (in_array("empipaddress", $selectColumns)) {
                 $curr['empipaddress'] = $curr['empipaddress'] == '::1' ? '127.0.01' : $curr['empipaddress'];
                 $finalArray[$key]['empipaddress'] = $curr['empipaddress'];
             }
         }
     }
     return $finalArray;
 }
Example #20
0
 public function indexAction()
 {
     // BEGIN:FILTERS
     $filters = array();
     //array with variables to send to pagination (filters)
     // END:FILTERS
     //BEGIN:LISTING	MESSAGES
     $model = new Default_Model_Messages();
     $select = $model->getMapper()->getDbTable()->select();
     $select->from(array('u' => 'messages'), array('u.id', 'u.idUserFrom', 'u.idUserTo', 'u.subject', 'u.created'))->where('u.idUserTo = ?', Zend_Registry::get('user')->getId())->where('NOT u.deletedTo')->where('NOT u.trashedTo');
     $select->order('u.created  DESC')->setIntegrityCheck(false);
     // pagination
     $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
     $paginator->setItemCountPerPage(10);
     $paginator->setCurrentPageNumber($this->_getParam('page'));
     $paginator->setPageRange(5);
     Zend_Paginator::setDefaultScrollingStyle('Sliding');
     Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', $filters));
     $this->view->inboxNr = Needs_Messages::getInboxMessagesNumber();
     $this->view->result = $paginator;
     $this->view->itemCountPerPage = $paginator->getItemCountPerPage();
     $this->view->totalItemCount = $paginator->getTotalItemCount();
     //END:LISTING MESSAGES
     //BEGIN:LISTING LATEST EXPENSES / INCOME
     $model = new Default_Model_Expenses();
     $select = $model->getMapper()->getDbTable()->select();
     $select->from(array('u' => 'expenses'), array('u.id', 'u.name', 'u.price', 'u.date', 'u.type'))->where('u.idMember = ?', Zend_Registry::get('user')->getId())->where('NOT u.deleted');
     $select->order('u.date  DESC');
     // pagination
     $paginatorLatest = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
     $paginatorLatest->setItemCountPerPage(10);
     $paginatorLatest->setCurrentPageNumber($this->_getParam('page'));
     $paginatorLatest->setPageRange(5);
     Zend_Paginator::setDefaultScrollingStyle('Sliding');
     Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', $filters));
     $this->view->resultLatest = $paginatorLatest;
     $this->view->itemCountPerPageLatest = $paginatorLatest->getItemCountPerPage();
     $this->view->totalItemCountLatest = $paginatorLatest->getTotalItemCount();
     //END:LISTING LATEST EXPENSES / INCOME
     //START: Expenses PIE
     $groups = new Default_Model_Groups();
     $select = $groups->getMapper()->getDbTable()->select()->from(array('g' => 'groups'), array('g.id', 'g.name', 'g.color', 'g.created', 'g.deleted'))->joinLeft(array('pg' => 'product_groups'), 'g.id = pg.idGroup', array())->joinLeft(array('p' => 'expenses'), 'p.id = pg.idProduct', array('price' => 'SUM(p.price)'))->where('NOT g.deleted')->where('p.type=?', 0)->where('p.date>=?', date('Y-m-01'))->group('g.id')->setIntegrityCheck(false);
     $resultPieExpenses = $groups->fetchAll($select);
     $this->view->resultPieExpenses = $resultPieExpenses;
     //END: Expenses PIE
     //START: Income PIE
     $groups2 = new Default_Model_Groups();
     $select2 = $groups2->getMapper()->getDbTable()->select()->from(array('g' => 'groups'), array('g.id', 'g.name', 'g.color', 'g.created', 'g.deleted'))->joinLeft(array('pg' => 'product_groups'), 'g.id = pg.idGroup', array())->joinLeft(array('p' => 'expenses'), 'p.id = pg.idProduct', array('price' => 'SUM(p.price)'))->where('NOT g.deleted')->where('p.type=?', 1)->where('p.date>=?', date('Y-m-01'))->group('g.id')->setIntegrityCheck(false);
     $resultPieIncome = $groups2->fetchAll($select2);
     $this->view->resultPieIncome = $resultPieIncome;
     //END: Income PIE
     $date = date('Y-m-d');
     $thisWeekStartDate = Needs_Tools::getWeekDaysByDate($date, $type = 'start');
     $thisWeekEndDay = Needs_Tools::getWeekDaysByDate($date, $type = 'end');
     $this->view->dateFrom = $thisWeekStartDate;
     $this->view->dateTo = $thisWeekEndDay;
     //		$resultInfo= Needs_Tools::showProjectedDashboard($thisWeekStartDate,$thisWeekEndDay);
     //		if ($resultInfo){
     //			$this->view->foodCost=$resultInfo["foodCost"];
     //			$this->view->laborCost=$resultInfo["laborCost"];
     //			$this->view->idShop=$resultInfo["idShop"];
     //		}else{
     //                        $this->view->foodCost='';
     //			$this->view->laborCost='';
     //			$this->view->idShop='';
     //                }
     $resultIncomeExpense = Needs_Tools::showIncomeExpensesDashboard(date('Y'), date('m'));
     if ($resultIncomeExpense) {
         $value = array();
         foreach ($resultIncomeExpense as $values) {
             $value[] = $values->getPrice();
         }
         $this->view->incomeAmount = isset($value[1]) ? $value[1] : 0;
         $this->view->expensesAmount = isset($value[0]) ? $value[0] : 0;
     } else {
         $this->view->incomeAmount = 0;
         $this->view->expensesAmount = 0;
     }
     $date = date('Y-m-d');
     $day = date('d', strtotime($date));
     $feb = date('L', strtotime($date)) ? 29 : 28;
     //an bisect
     $days = array(0, 31, $feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31);
     //nr zile pe luna
     //$month=array(1,2,3,4,5,6,7,8,9,10,11,12);
     $newdate = strtotime('-' . $days[date('n', strtotime($date))] . ' days', strtotime($date));
     $resultIncomeExpenseLastMonth = Needs_Tools::showIncomeExpensesDashboard(date('Y', $newdate), date('m', $newdate));
     if ($resultIncomeExpenseLastMonth) {
         $value = array();
         foreach ($resultIncomeExpenseLastMonth as $values) {
             $value[] = $values->getPrice();
         }
         $this->view->incomeAmountLastMonth = isset($value[1]) ? $value[1] : 0;
         $this->view->expensesAmountLastMonth = isset($value[0]) ? $value[0] : 0;
     } else {
         $this->view->incomeAmountLastMonth = 0;
         $this->view->expensesAmountLastMonth = 0;
     }
     $this->view->newdate = $newdate;
     //$this->view->form = $form;
 }
Example #21
0
 /**
  * This action is used for adding/updating data.
  * @parameters
  * @param id  =  id of role (optional)
  * 
  * @return Zend_Form.
  */
 public function editAction()
 {
     $groups_model = new Default_Model_Groups();
     $role_model = new Default_Model_Roles();
     $group_arr = $groups_model->getGroupsListForRoles();
     $id = $this->getRequest()->getParam('id', null);
     $display_grp = "1";
     $total_role_cnt = 0;
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $form = new Default_Form_Roles();
     $data = array();
     if ($id && is_numeric($id) && $id > 1) {
         try {
             $id = (int) $id;
             $id = abs($id);
             $form->submit->setLabel('Update');
             $data = $role_model->getRoleDataById($id);
             if (count($data) > 0) {
                 foreach ($data as $key => $val) {
                     $data[$key] = htmlentities(addslashes($val), ENT_QUOTES, "UTF-8");
                 }
                 $form->populate($data);
             }
         } catch (Exception $e) {
             $this->view->nodata = "nodata";
         }
     } else {
         if ($id == '') {
             $total_role_cnt = $role_model->getTotalRolecnt();
             foreach ($group_arr as $gid => $gdata) {
                 if ($gdata['cnt'] < 5) {
                     $display_grp = $gid;
                     break;
                 }
             }
         } else {
             $this->view->nodata = "nodata";
         }
     }
     $this->view->form = $form;
     $this->view->group_arr = $group_arr;
     $this->view->data = $data;
     $this->view->display_grp = $display_grp;
     $this->view->total_role_cnt = $total_role_cnt;
 }
Example #22
0
 function init()
 {
     // Set the method for the display form to POST
     $this->setMethod('post');
     $this->setAction(WEBROOT . 'statistics');
     $this->addAttribs(array('id' => 'filterComplexForm', 'class' => ''));
     $this->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
     //BEGIN:Id Category Expenses
     $idCategoryE = new Zend_Form_Element_Multiselect('idCategoryE');
     $options = array('1' => strtoupper(Zend_Registry::get('translate')->_('admin_expenses')));
     $categories = new Default_Model_Groups();
     $select = $categories->getMapper()->getDbTable()->select()->where('NOT deleted')->where('type=?', 0)->order('name ASC');
     $result = $categories->fetchAll($select);
     if (NULL != $result) {
         foreach ($result as $value) {
             $options[$value->getId()] = $value->getName();
         }
     }
     $idCategoryE->setMultiOptions($options);
     $idCategoryE->addValidator(new Zend_Validate_InArray(array_keys($options)));
     $idCategoryE->setAttribs(array('class' => 'rightAdd form_selector', 'id' => 'idCategoryE'));
     $idCategoryE->setRequired(false);
     $this->addElement($idCategoryE);
     //END:Id Category Expenses
     //BEGIN:Id Category Income
     $idCategoryI = new Zend_Form_Element_Multiselect('idCategoryI');
     $options = array('2' => strtoupper(Zend_Registry::get('translate')->_('admin_income')));
     $categories = new Default_Model_Groups();
     $select = $categories->getMapper()->getDbTable()->select()->where('NOT deleted')->where('type=?', 1)->order('name ASC');
     $result = $categories->fetchAll($select);
     if (NULL != $result) {
         foreach ($result as $value) {
             $options[$value->getId()] = " " . $value->getName();
         }
     }
     $idCategoryI->setMultiOptions($options);
     $idCategoryI->addValidator(new Zend_Validate_InArray(array_keys($options)));
     $idCategoryI->setAttribs(array('class' => 'rightAdd form_selector', 'id' => 'idCategoryI'));
     $idCategoryI->setRequired(false);
     $this->addElement($idCategoryI);
     //END:Id Category Income
     //BEGIN:Timeframe
     $timeframe = new Zend_Form_Element_Select('timeframe');
     $options = array('m' => Zend_Registry::get('translate')->_('admin_monthly'), 'w' => Zend_Registry::get('translate')->_('admin_weekly'), 'd' => Zend_Registry::get('translate')->_('admin_daily'));
     $timeframe->setMultiOptions($options);
     $timeframe->addValidator(new Zend_Validate_InArray(array_keys($options)));
     $timeframe->setAttribs(array('class' => 'rightAdd validate[required] form_selector', 'id' => 'timeframe'));
     $timeframe->setRequired(true);
     $timeframe->setValue('m');
     $this->addElement($timeframe);
     //END:Timeframe
     // BEGIN: data
     $dataStart = new Zend_Form_Element_Text('dataStartC');
     $dataStart->setAttribs(array('class' => 'data_inceput_c validate[required]', 'placeholder' => Zend_Registry::get('translate')->_('admin_from_date')));
     $dataStart->setRequired(true);
     $this->addElement($dataStart);
     $dataEnd = new Zend_Form_Element_Text('dataEndC');
     $dataEnd->setAttribs(array('class' => 'data_sfarsit_c validate[required]', 'placeholder' => Zend_Registry::get('translate')->_('admin_to_date')));
     $this->addElement($dataEnd);
     // END: data
     $submit = new Zend_Form_Element_Submit('submitC');
     $submit->setValue(Zend_Registry::get('translate')->_('admin_menu_form_search'));
     $submit->setAttribs(array('class' => 'submit'));
     $submit->setRequired(true);
     $this->addElement($submit);
     $submitReportE = new Zend_Form_Element_Submit('submitReportE');
     $submitReportE->setAttribs(array('class' => 'submitReport'));
     $submitReportE->setRequired(true);
     $this->addElement($submitReportE);
     $submitReportI = new Zend_Form_Element_Submit('submitReportI');
     $submitReportI->setAttribs(array('class' => 'submitReport'));
     $submitReportI->setRequired(true);
     $this->addElement($submitReportI);
 }
Example #23
0
 /**
  * This function gives all content for grid view.
  * @parameters
  * @param $sort          = ascending or descending
  * @param $by            = name of field which to be sort
  * @param $pageNo        = page number
  * @param $perPage       = no.of records per page
  * @param $searchData    = search string
  * @param $call          = type of call like ajax.
  * @return  Array;
  */
 public function getGrid($sort, $by, $perPage, $pageNo, $searchData, $call, $dashboardcall, $p2, $p3, $p4, $p5)
 {
     $group_model = new Default_Model_Groups();
     $searchQuery = '';
     $searchArray = array();
     $data = array();
     if ($searchData != '' && $searchData != 'undefined') {
         $searchValues = json_decode($searchData);
         if (count($searchValues) > 0) {
             foreach ($searchValues as $key => $val) {
                 $searchQuery .= " " . $key . " like '%" . $val . "%' AND ";
                 $searchArray[$key] = $val;
             }
             $searchQuery = rtrim($searchQuery, " AND");
         }
     }
     $objName = 'roles';
     $tableFields = array('action' => 'Action', 'rolename' => 'Role Name', 'roletype' => 'Role Type', 'roledescription' => 'Role Description', 'group_name' => 'Group');
     $tablecontent = $this->getRolesData($sort, $by, $pageNo, $perPage, $searchQuery);
     $group_data = $group_model->getGroupsListForRoles();
     $group_arr = array();
     foreach ($group_data as $gkey => $gdata) {
         $group_arr[$gdata['group_name']] = $gdata['group_name'];
     }
     $dataTmp = array('sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'call' => $call, 'dashboardcall' => $dashboardcall, 'search_filters' => array('group_name' => array('type' => 'select', 'filter_data' => array('' => 'All') + $group_arr)));
     return $dataTmp;
 }
Example #24
0
 /**
  * waitinlistAction
  *
  * Waiting list for group
  */
 public function waitinglistAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $usrId = $auth->getIdentity()->user_id;
         $grpId = $this->_request->getParam('grpid');
         if (!isset($grpId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'group', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $this->view->grpid = $grpId;
         $usrHasGrpModel = new Default_Model_UserHasGroup();
         $usrHasGrpWaitingModel = new Default_Model_UserHasGroupWaiting();
         $grpmodel = new Default_Model_Groups();
         $grp = $grpmodel->getGroupData($grpId);
         // Accept or deny button was pressed
         if ($this->getRequest()->isPost()) {
             // Get the IDs of the first and last selected user
             $firstUsrId = $this->getRequest()->getPost('accept_or_deny_first');
             $lastUsrId = $this->getRequest()->getPost('accept_or_deny_last');
             $privateMessagesModel = new Default_Model_PrivateMessages();
             // Accept or deny selected user
             for ($i = $firstUsrId; $i <= $lastUsrId; $i++) {
                 if ($this->getRequest()->getPost('select_' . $i) == 'accept') {
                     $usrHasGrpWaitingModel->removeUserWaitingFromGroup($grpId, $i);
                     $usrHasGrpModel->addUserToGroup($grpId, $i);
                     // Send privamessage
                     $usermessage = array();
                     $usermessage['privmsg_sender_id'] = 0;
                     $usermessage['privmsg_receiver_id'] = $i;
                     $usermessage['privmsg_header'] = $grp['group_name_grp'] . ' waiting list';
                     $link = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true);
                     $usermessage['privmsg_message'] = 'You have been accepted to <a href="' . $link . '">' . $grp['group_name_grp'] . ' group.</a>';
                     $privateMessagesModel->addMessage($usermessage);
                 } else {
                     if ($this->getRequest()->getPost('select_' . $i) == 'deny') {
                         $usrHasGrpWaitingModel->removeUserWaitingFromGroup($grpId, $i);
                         // Send privamessage
                         $usermessage = array();
                         $usermessage['privmsg_sender_id'] = 0;
                         $usermessage['privmsg_receiver_id'] = $i;
                         $usermessage['privmsg_header'] = $grp['group_name_grp'] . ' waiting list';
                         $link = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true);
                         $usermessage['privmsg_message'] = 'You have not been approved by the <a href="' . $link . '">' . $grp['group_name_grp'] . ' group.</a>';
                         $privateMessagesModel->addMessage($usermessage);
                     }
                 }
             }
         }
         $users = $usrHasGrpWaitingModel->getAllWaitingUsersInGroup($grpId);
         // Is user group admin?
         $grpadminmodel = new Default_Model_GroupAdmins();
         if (!$grpadminmodel->userIsAdmin($grpId, $usrId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'group', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $this->view->grp = $grp;
         $this->view->users = $users;
     } else {
         // If not logged, redirecting to system message page
         $message = 'You must login in!';
         $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->flash($message, $url);
     }
 }
Example #25
0
 private function getGroupTitle()
 {
     $grpModel = new Default_Model_Groups();
     $grp = $grpModel->getGroupData($this->id);
     return $grp['group_name_grp'];
 }
Example #26
0
 public function indexAction()
 {
     // BEGIN:FILTERS
     $filters = array();
     //array with variables to send to pagination (filters)
     // END:FILTERS
     $params = array();
     if ($this->getRequest()->getParam('dataStart')) {
         $params['dataStart'] = $this->getRequest()->getParam('dataStart');
     }
     if ($this->getRequest()->getParam('dataEnd')) {
         $params['dataEnd'] = $this->getRequest()->getParam('dataEnd');
     }
     $formsearch = new Default_Form_SearchStatistics();
     $formsearch->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/statistics/search.phtml'))));
     $this->view->formsearch = $formsearch;
     if (empty($params)) {
         $params['dataStart'] = date('Y-m-01');
         $params['dataEnd'] = '';
     }
     $this->view->search = $params;
     $formsearchcomplex = new Default_Form_SearchComplexStatistics();
     $formsearchcomplex->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/statistics/search-complex.phtml'))));
     $this->view->formsearchcomplex = $formsearchcomplex;
     //START: Expenses PIE
     $groups = new Default_Model_Groups();
     $select = $groups->getMapper()->getDbTable()->select()->from(array('g' => 'groups'), array('g.id', 'g.name', 'g.color', 'g.created', 'g.deleted'))->joinLeft(array('pg' => 'product_groups'), 'g.id = pg.idGroup', array())->joinLeft(array('p' => 'expenses'), 'p.id = pg.idProduct', array('price' => 'SUM(p.price)'))->where('NOT g.deleted')->where('p.type=?', 0)->group('g.id')->setIntegrityCheck(false);
     if (!empty($params['dataStart'])) {
         $select->where('p.date >= ?', $params['dataStart']);
     }
     if (!empty($params['dataEnd'])) {
         $select->where('p.date <= ?', $params['dataEnd']);
     }
     if (empty($params['dataStart']) && empty($params['dataEnd'])) {
         $select->where('p.date>=?', date('Y-m-01'));
     }
     $resultPieExpenses = $groups->fetchAll($select);
     $this->view->resultPieExpenses = $resultPieExpenses;
     //END: Expenses PIE
     //START: Income PIE
     $groups2 = new Default_Model_Groups();
     $select2 = $groups2->getMapper()->getDbTable()->select()->from(array('g' => 'groups'), array('g.id', 'g.name', 'g.color', 'g.created', 'g.deleted'))->joinLeft(array('pg' => 'product_groups'), 'g.id = pg.idGroup', array())->joinLeft(array('p' => 'expenses'), 'p.id = pg.idProduct', array('price' => 'SUM(p.price)'))->where('NOT g.deleted')->where('p.type=?', 1)->group('g.id')->setIntegrityCheck(false);
     if (!empty($params['dataStart'])) {
         $select2->where('p.date >= ?', $params['dataStart']);
     }
     if (!empty($params['dataEnd'])) {
         $select2->where('p.date <= ?', $params['dataEnd']);
     }
     if (empty($params['dataStart']) && empty($params['dataEnd'])) {
         $select2->where('p.date>=?', date('Y-m-01'));
     }
     $resultPieIncome = $groups2->fetchAll($select2);
     $this->view->resultPieIncome = $resultPieIncome;
     //END: Income PIE
     //START current month expenses / income / left
     $resultIncomeExpense = Needs_Tools::showIncomeExpensesDashboard(date('Y'), date('m'));
     if ($resultIncomeExpense) {
         $value = array();
         foreach ($resultIncomeExpense as $values) {
             $value[] = $values->getPrice();
         }
         if (isset($value[1])) {
             $this->view->incomeAmount = $value[1];
         } else {
             $this->view->incomeAmount = 0;
         }
         if (isset($value[0])) {
             $this->view->expensesAmount = $value[0];
         } else {
             $this->view->expensesAmount = 0;
         }
     } else {
         $this->view->incomeAmount = 0;
         $this->view->expensesAmount = 0;
     }
     //END current month expenses / income / left
     $categoryNames = array();
     $categoryRes = array();
     $monthly_stats = array();
     $line_color = array();
     $categoryNamesi = array();
     $categoryResi = array();
     $monthly_statsi = array();
     $line_colori = array();
     $i = 0;
     if ($this->getRequest()->getParam('idCategoryE')) {
         $params['idCategoryE'] = $this->getRequest()->getParam('idCategoryE');
     }
     if ($this->getRequest()->getParam('idCategoryI')) {
         $params['idCategoryI'] = $this->getRequest()->getParam('idCategoryI');
     }
     if ($this->getRequest()->getParam('dataStartC')) {
         $params['dataStartC'] = $this->getRequest()->getParam('dataStartC');
     }
     if ($this->getRequest()->getParam('dataEndC')) {
         $params['dataEndC'] = $this->getRequest()->getParam('dataEndC');
     }
     if ($this->getRequest()->getParam('timeframe')) {
         $params['timeframe'] = $this->getRequest()->getParam('timeframe');
     }
     if (isset($params['dataStartC']) || isset($params['dataEndC']) || isset($params['idCategoryE']) || isset($params['idCategoryI'])) {
         $value = array();
         if (empty($params['idCategoryE'])) {
             $params['idCategoryE'][0] = 1;
         }
         //expenses "category"
         if (empty($params['idCategoryI'])) {
             $params['idCategoryI'][0] = 2;
         }
         //income "category"
         $resultExpense = Needs_Tools::showExpensesDashboardbyDateCat($params['dataStartC'], $params['dataEndC'], $params['idCategoryE'], $params['timeframe']);
         $resultIncome = Needs_Tools::showIncomeDashboardbyDateCat($params['dataStartC'], $params['dataEndC'], $params['idCategoryI'], $params['timeframe']);
         $totalAmountCat = array();
         foreach ($resultExpense as $Expense => $values) {
             //echo($Expense."<br>");
             //print_r($values);
             foreach ($values as $cat => $value) {
                 //echo $cat."<br>";
                 //print_r($value);
                 $totalAmountCat[$cat] = isset($totalAmountCat[$cat]) ? $totalAmountCat[$cat] + $value[2] : $value[2];
                 $categoryRes[$cat] = $value[0];
                 $monthly_stats[$value[1]][$cat] = $value[2];
                 //monthly_stat[saptamana de forma data1/data2]=cheltuieli din sapt respectiva
                 $line_color[$cat] = $value[3];
                 //culoarea liniei pt categoria asta
             }
         }
         foreach ($categoryRes as $key => $value) {
             $categoryNames[$key] = $value . "-" . $totalAmountCat[$key];
         }
         asort($categoryNames);
         //order alphabetically
         $totalAmountCati = array();
         foreach ($resultIncome as $Income => $valuesi) {
             //echo($Income."<br>");
             //print_r($values);
             foreach ($valuesi as $cati => $valuei) {
                 //echo $cat."<br>";
                 //print_r($value);
                 $totalAmountCati[$cati] = isset($totalAmountCati[$cati]) ? $totalAmountCati[$cati] + $valuei[2] : $valuei[2];
                 $categoryResi[$cati] = $valuei[0];
                 $monthly_statsi[$valuei[1]][$cati] = $valuei[2];
                 //monthly_stat[saptamana de forma data1/data2]=cheltuieli din sapt respectiva
                 $line_colori[$cati] = $valuei[3];
                 //culoarea liniei pt categoria asta
             }
         }
         foreach ($categoryResi as $keyi => $valuei) {
             $categoryNamesi[$keyi] = $valuei . "-" . $totalAmountCati[$keyi];
         }
         asort($categoryNamesi);
         //order alphabetically
     } else {
         //                    $categoryNames[0]='Expenses';
         //                    $categoryNames[1]='Income';
         //                //for ($i=1;$i>=0;$i--){//show chart for last year as well.
         //                    for ($j=1;$j<(date('n')+1);$j++){
         //                        if (strlen($j)==1) $m="0".$j;
         //                        else $m=$j;
         //                        $resultIncomeExpense = Needs_Tools::showIncomeExpensesDashboard(date('Y')-$i, $m);
         //                        if ($resultIncomeExpense){
         //                            $value=array();
         //                            foreach ($resultIncomeExpense as $values){
         //                                $value[] = $values->getPrice();
         //                            }
         //                            if (isset($value[1])){
         //                            $monthly_stats[$m.'-'.(date('Y')-$i)][1]=$value[1];
         //                            }else $monthly_stats[$m.'-'.(date('Y')-$i)][1]=0;
         //                            if (isset($value[0])){
         //                            $monthly_stats[$m.'-'.(date('Y')-$i)][0]=$value[0];
         //                            }else $monthly_stats[$m.'-'.(date('Y')-$i)][0]=0;
         //                        }else{
         //                            $monthly_stats[$m.'-'.(date('Y')-$i)][0]=0;
         //                            $monthly_stats[$m.'-'.(date('Y')-$i)][1]=0;
         //                        }
         //                    }
         //                    $line_color[0]='#d43c2c';
         //                    $line_color[1]='#58a87d';
         //                //}//this shows income and expenses together when first loading the page
         //here i separate expenses and income each with its own graph.
         $categoryNames[0] = Zend_Registry::get('translate')->_('admin_expenses');
         $categoryNamesi[0] = Zend_Registry::get('translate')->_('admin_income');
         //for ($i=1;$i>=0;$i--){//show chart for last year as well.
         for ($j = 1; $j < date('n') + 1; $j++) {
             if (strlen($j) == 1) {
                 $m = "0" . $j;
             } else {
                 $m = $j;
             }
             $resultIncomeExpense = Needs_Tools::showIncomeExpensesDashboard(date('Y') - $i, $m);
             if ($resultIncomeExpense) {
                 $value = array();
                 foreach ($resultIncomeExpense as $values) {
                     $value[] = $values->getPrice();
                 }
                 if (isset($value[1])) {
                     $monthly_statsi[$m . '-' . (date('Y') - $i)][0] = $value[1];
                 } else {
                     $monthly_statsi[$m . '-' . (date('Y') - $i)][0] = 0;
                 }
                 if (isset($value[0])) {
                     $monthly_stats[$m . '-' . (date('Y') - $i)][0] = $value[0];
                 } else {
                     $monthly_stats[$m . '-' . (date('Y') - $i)][0] = 0;
                 }
             } else {
                 $monthly_stats[$m . '-' . (date('Y') - $i)][0] = 0;
                 $monthly_statsi[$m . '-' . (date('Y') - $i)][0] = 0;
             }
             $monthly_stats[$m . '-' . (date('Y') - $i)][1] = $m . '-' . (date('Y') - $i);
             //monthlystats[1]=the date
             $monthly_statsi[$m . '-' . (date('Y') - $i)][1] = $m . '-' . (date('Y') - $i);
             //monthlystats[1]=the date
         }
         $line_color[0] = '#d43c2c';
         $line_colori[0] = '#58a87d';
         //}
     }
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($formsearchcomplex->isValid($formData)) {
             $formsearchcomplex->populate($formData);
         }
     }
     if ($this->getRequest()->isPost()) {
         if ($this->getRequest()->getPost('submitReportE')) {
             $monthly_stats = array_filter($monthly_stats);
             $objPHPExcel = new PHPExcel();
             $objPHPExcel->getProperties()->setCreator("Money-Management-System")->setLastModifiedBy("Money-Management-System")->setTitle("Form")->setSubject(Zend_Registry::get('translate')->_('admin_expenses'))->setDescription(Zend_Registry::get('translate')->_('admin_expenses_chart'))->setKeywords("")->setCategory("");
             $col = 0;
             $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow(0, 1, '');
             $col++;
             foreach ($categoryNames as $keys => $values) {
                 foreach ($monthly_stats as $monthlyStat => $valuesms) {
                     if (!array_key_exists($keys, $valuesms)) {
                         $valuesms[$keys] = 0;
                     }
                 }
                 $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($col, 1, $values);
                 $col++;
             }
             $row = 2;
             foreach ($monthly_stats as $monthlyStat => $values) {
                 //for each period: days/week intervals/months
                 $rowDate = $monthlyStat != '' ? $monthlyStat : '-';
                 $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow(0, $row, $rowDate);
                 $col = 1;
                 foreach ($categoryNames as $keys => $value) {
                     if (array_key_exists($keys, $values)) {
                         $rowAmount = $values[$keys];
                     } else {
                         $rowAmount = 0;
                     }
                     $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($col, $row, $rowAmount);
                     $col++;
                 }
                 $row++;
             }
             $objPHPExcel->getActiveSheet()->setTitle(Zend_Registry::get('translate')->_('admin_expenses'));
             $objPHPExcel->setActiveSheetIndex(0);
             header('Content-Type: application/vnd.ms-excel');
             header('Content-Disposition: attachment;filename="' . date('Y-m-d-H-i-s') . '.xls"');
             /*header('Cache-Control: max-age=0');*/
             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
             $objWriter->save('php://output');
             $this->_helper->viewRenderer->setNoRender();
             $this->_helper->getHelper('layout')->disableLayout();
         }
         //generate excel report for income
         if ($this->getRequest()->getPost('submitReportI')) {
             $monthly_stats = array_filter($monthly_stats);
             $objPHPExcel = new PHPExcel();
             $objPHPExcel->getProperties()->setCreator("Money-Management-System")->setLastModifiedBy("Money-Management-System")->setTitle("Form")->setSubject(Zend_Registry::get('translate')->_('admin_income'))->setDescription(Zend_Registry::get('translate')->_('admin_income_chart'))->setKeywords("")->setCategory("");
             $col = 0;
             $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow(0, 1, '');
             $col++;
             foreach ($categoryNamesi as $keys => $values) {
                 foreach ($monthly_statsi as $monthlyStat => $valuesms) {
                     if (!array_key_exists($keys, $valuesms)) {
                         $valuesms[$keys] = 0;
                     }
                 }
                 $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($col, 1, $values);
                 $col++;
             }
             $row = 2;
             foreach ($monthly_statsi as $monthlyStat => $values) {
                 //for each period: days/week intervals/months
                 $rowDate = $monthlyStat != '' ? $monthlyStat : '-';
                 $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow(0, $row, $rowDate);
                 $col = 1;
                 foreach ($categoryNamesi as $keys => $value) {
                     if (array_key_exists($keys, $values)) {
                         $rowAmount = $values[$keys];
                     } else {
                         $rowAmount = 0;
                     }
                     $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($col, $row, $rowAmount);
                     $col++;
                 }
                 $row++;
             }
             $objPHPExcel->getActiveSheet()->setTitle(Zend_Registry::get('translate')->_('admin_expenses'));
             $objPHPExcel->setActiveSheetIndex(0);
             header('Content-Type: application/vnd.ms-excel');
             header('Content-Disposition: attachment;filename="' . date('Y-m-d-H-i-s') . '.xls"');
             /*header('Cache-Control: max-age=0');*/
             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
             $objWriter->save('php://output');
             $this->_helper->viewRenderer->setNoRender();
             $this->_helper->getHelper('layout')->disableLayout();
         }
     }
     $this->view->monthlyStats = array_filter($monthly_stats);
     $this->view->lineColor = $line_color;
     $this->view->categoryNames = $categoryNames;
     $this->view->monthlyStatsi = array_filter($monthly_statsi);
     $this->view->lineColori = $line_colori;
     $this->view->categoryNamesi = $categoryNamesi;
 }