/** * 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; }
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')); }
/** * 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 } }
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); }
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); }
/** * 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; }
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; }
/** * 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; }
public static function getGroupName($id) { $model = new Default_Model_Groups(); $model->find($id); return $model->getName(); }
/** * 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; }
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); } } }
/** * 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; }
/** * 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; }
/** * 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; }
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'); } }
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')); }
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; }
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; }
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; }
/** * 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; }
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); }
/** * 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; }
/** * 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); } }
private function getGroupTitle() { $grpModel = new Default_Model_Groups(); $grp = $grpModel->getGroupData($this->id); return $grp['group_name_grp']; }
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; }