Example #1
0
 public static function getTimeSummary($time, $timeBase = false)
 {
     $timeBase = strtotime(sapp_Global::getDisplayDate(gmdate("Y-m-d H:i:s")));
     if ($time <= $timeBase) {
         $dif = $timeBase - $time;
         if ($dif < 60) {
             if ($dif < 2) {
                 return "1 second ago";
             }
             return $dif . " seconds ago";
         }
         if ($dif < 3600) {
             if (floor($dif / 60) < 2) {
                 return "A minute ago";
             }
             return floor($dif / 60) . " minutes ago";
         }
         if (date("d n Y", $timeBase) == date("d n Y", $time)) {
             return "Today at " . date("g:i A", $time);
         }
         if (date("n Y", $timeBase) == date("n Y", $time) && date("d", $timeBase) - date("d", $time) == 1) {
             return "Yesterday at " . date("g:i A", $time);
         }
         if (date("Y", $time) == date("Y", $timeBase)) {
             //changed by rakesh for making pm to PM
             $finalDateFormat = date('F d, Y', $time) . " at " . date('h:i A', $time);
             return $finalDateFormat;
         }
     } else {
         $dif = $time - $timeBase;
         if ($dif < 60) {
             if ($dif < 2) {
                 return "1 second";
             }
             return $dif . " seconds";
         }
         if ($dif < 3600) {
             if (floor($dif / 60) < 2) {
                 return "Less than a minute";
             }
             return floor($dif / 60) . " minutes";
         }
         if (date("d n Y", $timeBase + 86400) == date("d n Y", $time)) {
             return "Tomorrow, at " . date("g:i A", $timeBase);
         }
     }
     return date("F j, Y \\a\\t g:i A", $time);
 }
Example #2
0
 /**
  *
  * @param string $name
  * @param array $fields
  * @param Zend_Paginator Instance $paginator
  * @param array $extracolumn
  * @param Bool  $sorting
  *
  * @return string
  */
 public function generateGrid($name, $fields = null, $paginator = null, $extracolumn = array(), $sorting = false, $jsGridFnname = '', $perPage = '5', $page = '1', $jsFillFnName = '', $searchArray = '', $formgrid = 'false', $addaction = '', $menuName = '', $unitId, $addpermission, $menunamestr, $call = '', $sortStr = '', $search_filters = '', $dashboardCall = 'No', $sortname = '', $by = '')
 {
     $request = Zend_Controller_Front::getInstance();
     $params = $request->getRequest()->getParams();
     $viewLinkArray = array('Cities', 'States');
     // Store Extra Columns
     $this->extra = $extracolumn;
     $sortIconStr = "";
     $sort = Zend_Controller_Front::getInstance()->getRequest()->getParam('sort', 'DESC');
     // checking and handling sorting.
     if ($sort == "") {
         $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-n'></span>\n\t\t\t<span class='ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-s'></span></span>";
     } else {
         if ($sort == 'ASC') {
             $sort = 'DESC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-desc ui-icon ui-icon-triangle-1-n'></span>\n\t\t\t</span>";
         } else {
             $sort = 'ASC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-asc  ui-icon ui-icon-triangle-1-s'></span></span>";
         }
     }
     if ($call != "ajaxcall") {
         $sortIconStr = "";
     }
     if ($addaction != '') {
         $action = $addaction;
         $popupaction = 'addpopup';
     } else {
         $action = "edit";
         $popupaction = 'editpopup';
     }
     $con = '';
     if ($formgrid != '') {
         $urlString = $_SERVER['REQUEST_URI'];
         $urlData = explode('/', $urlString);
         if ($unitId != '') {
             $con = 'unitId/' . $unitId;
         } else {
             if (sizeof($urlData) > 4) {
                 if (isset($params['id'])) {
                     $con = 'unitId/' . $params['id'];
                 }
             }
         }
         if ($name == 'empscreening') {
             $empaction = 'add';
             $output = "";
         } else {
             $output = "";
         }
     } else {
         $output = "";
     }
     if ($addpermission == 'false') {
         $output = "<div class='table-header'><span>" . $menuName . "</span></div>";
     }
     $output .= "<div id='" . $name . "' class='details_data_display_block newtablegrid'>";
     $output .= "<table class='grid' align='center'  width='100%' cellspacing='0' cellpadding='4' border='0'><thead><tr>";
     // this foreach loop display the column header  in ?th? tag.
     $colinr = 0;
     if (!empty($fields)) {
         $tabindx = 0;
         foreach ($fields as $key => $value) {
             if ($value != 'Profile' && $value != 'ID' && $value != 'Url') {
                 if (isset($value['align'])) {
                     $align = @$value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
                 }
                 if (isset($value['sortkey'])) {
                     $sortkey = @$value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
                 }
                 if (isset($value['style'])) {
                     $style = @$value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
                 }
                 $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
                 if ($value == 'Action') {
                     $width = 'width=90';
                 } else {
                     $width = '';
                 }
                 //'width='.$eachColumnWidth;
                 $output .= "<th " . $width . ">";
                 // Check if Sorting is set to True
                 if ($sorting) {
                     // Disable Sorting if Key is in Extra Columns
                     if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                         if ($value == "Action") {
                             $output .= "<span class='action-text'>Action</span>";
                         } else {
                             $output .= $value;
                         }
                     } else {
                         if (is_array($value)) {
                             $key = $value['sortkey'];
                             $value = $value['value'];
                         }
                         $welcome = 'false';
                         $urlString = $_SERVER['REQUEST_URI'];
                         if (strpos($urlString, 'welcome') !== false) {
                             $welcome = 'true';
                         }
                         if ($formgrid == 'true') {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . DOMAIN . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                             //For Sort Icons....
                             if ($key == $sortStr) {
                                 $output .= $sortIconStr;
                             }
                         } else {
                             if ($welcome == 'true') {
                                 $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . DOMAIN . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                                 //For Sort Icons....
                                 if ($key == $sortStr) {
                                     $output .= $sortIconStr;
                                 }
                             } else {
                                 $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . $this->view->url(array('sort' => $sort, 'by' => $key, 'objname' => $name, 'page' => $page, 'per_page' => $perPage)) . "');>" . $value . "</a>";
                                 //For Sort Icons....
                                 if ($key == $sortStr) {
                                     $output .= $sortIconStr;
                                 }
                             }
                         }
                     }
                 } else {
                     //For Sort Icons....
                     if ($key == $sortStr) {
                         $output .= $sortIconStr;
                     }
                     $output .= $value;
                 }
                 $output .= "</th>";
                 $colinr++;
                 $tabindx++;
             }
         }
         //end of for each loop
         $output .= "</tr><tr id='search_tr_{$name}'>";
         $tabindx = 0;
         foreach ($fields as $key => $value) {
             if ($key != 'profileimg' && $key != 'id' && $key != 'menuUrl') {
                 if (isset($value['align'])) {
                     $align = @$value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
                 }
                 if (isset($value['sortkey'])) {
                     $sortkey = @$value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
                 }
                 if (isset($value['style'])) {
                     $style = @$value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
                 }
                 $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
                 if ($value == 'Action') {
                     $width = 'width=90';
                 } else {
                     $width = '';
                 }
                 $output .= "<th " . $width . ">";
                 // Check if Sorting is set to True
                 if ($sorting) {
                     // Disable Sorting if Key is in Extra Columns
                     if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                         if ($value == "Action") {
                             $output .= "<span class='action-text'></span>";
                         } else {
                             $output .= $value;
                         }
                     } else {
                         if (is_array($value)) {
                             $key = $value['sortkey'];
                             $value = $value['value'];
                         }
                         $welcome = 'false';
                         $urlString = $_SERVER['REQUEST_URI'];
                         if ($key != 'id') {
                             $sText = '';
                             if (!empty($searchArray)) {
                                 $display = 'display: block;';
                             } else {
                                 $display = 'display: none;';
                             }
                             if (is_array($searchArray)) {
                                 if (array_key_exists($key, $searchArray)) {
                                     $sText = urldecode($searchArray[$key]);
                                 } else {
                                     $sText = '';
                                 }
                             }
                             if (isset($search_filters[$key])) {
                                 $search_function = 'getsearchdata("' . $name . '","",this.id,event';
                                 $output .= sapp_Global::grid_data($search_filters, $key, $name, $display, $sText, $tabindx, $search_function);
                             } else {
                                 if ($key != 'key_flag') {
                                     $output .= "<input tabIndex={$tabindx} type='text' name='{$name}' id='{$key}' style='{$display}' class='searchtxtbox_{$name} table_inputs grid_search_inputs' value='{$sText}' onkeydown='getsearchdata(\"{$name}\",\"\",this.id,event,\"text\")' />";
                                 }
                             }
                         }
                     }
                 } else {
                     //For Sort Icons....
                     if ($key == $sortStr) {
                         $output .= $sortIconStr;
                     }
                     $output .= $value;
                 }
                 $output .= "</th>";
                 $colinr++;
                 $tabindx++;
             }
         }
         //end of for each loop
     }
     $output .= "</tr>\n\n        </thead>";
     $output .= "<tbody>";
     // Start Looping Data
     $ii = 0;
     foreach ($paginator as $p) {
         $cell_color = $ii % 2 == 0 ? "row1" : "row2";
         $ii++;
         $bodyCount = 0;
         $output .= "<tr onclick='selectrow({$name},this);' class='{$cell_color}'>";
         // Reset Fields Array to Top
         if (!empty($fields)) {
             reset($fields);
             foreach ($fields as $k => $v) {
                 $imgtag = '';
                 if ($k == 'profileimg' || $k == 'id' || $k == 'menuUrl') {
                     continue;
                 }
                 $tdclass = '';
                 // Look for additional attributes
                 $characterlimit = 40;
                 if (is_array($v)) {
                     $class = @$v['class'] != '' ? 'class="' . $v['class'] . '" ' : '';
                     $align = @$v['align'] != '' ? 'align="' . $v['align'] . '" ' : '';
                     $valign = @$v['valign'] != '' ? 'valign="' . $v['valign'] . '" ' : '';
                     if (isset($v['characterlimit'])) {
                         $characterlimit = $v['characterlimit'];
                     }
                     $output .= "<td {$tdclass}{$align}{$valign}>";
                 } else {
                     if ($k == 'description' && $menuName == 'Screening Types') {
                         $characterlimit = 80;
                     }
                     $output .= "<td {$tdclass}>";
                 }
                 // Check to see if this Field is in Extra Columns
                 if (isset($this->extra[$k]['value'])) {
                     $output .= $this->_parseExtra($k, $p);
                 } else {
                     if ($bodyCount == 0 && $jsFillFnName != '') {
                         $valToInclude = strlen(trim($p[$k])) > $characterlimit ? substr(trim($p[$k]), 0, $characterlimit) . ".." : trim($p[$k]);
                         $output .= "<a onclick= " . $jsFillFnName . "(\"/id/{$p['id']}\") href= 'javascript:void(0)' title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</a>";
                     } else {
                         $p = (array) $p;
                         if (isset($p[$k])) {
                             $valToInclude = strlen(trim($p[$k])) > $characterlimit ? substr(trim($p[$k]), 0, $characterlimit) . ".." : trim($p[$k]);
                             if ($k == 'user_action') {
                                 switch ($p[$k]) {
                                     case '1':
                                         $valToInclude = 'ADD';
                                         break;
                                     case '2':
                                         $valToInclude = "Edit";
                                         break;
                                     case '3':
                                         $valToInclude = "Delete";
                                         break;
                                 }
                             } else {
                                 if ($k == 'userfullname') {
                                     $errorImg = DOMAIN . 'public/media/images/profile_pic.png';
                                     if (isset($p['profileimg']) && !empty($p['profileimg'])) {
                                         $imageUrl = DOMAIN . 'public/uploads/profile/' . $p['profileimg'];
                                     } else {
                                         $imageUrl = DOMAIN . 'public/media/images/profile_pic.png';
                                     }
                                     $imgtag = '<img src="' . $imageUrl . '" onerror="this.src=\'' . $errorImg . '\'" class="pic-grid">';
                                 } else {
                                     if ($k == 'last_modifieddate' || $k == 'logindatetime') {
                                         $valToInclude = sapp_Global::getDisplayDate($valToInclude);
                                     } else {
                                         if ($k == 'empipaddress' && $valToInclude == '::1') {
                                             $valToInclude = '127.0.0.1';
                                         }
                                     }
                                 }
                             }
                             if ($k == 'status' && $p[$k] == 'Complete' && $menuName == 'Employee Screening') {
                                 $dataclass = 'class="greendata"';
                             } else {
                                 $dataclass = '';
                             }
                             if ($k == 'user_action') {
                                 switch ($p[$k]) {
                                     case '1':
                                         $menunamestr = $p['menuName'] . ' - Add';
                                         $output .= "<a  name='' class=''  title='Add' onclick='displaydeptform(\"" . DOMAIN . "logmanager/view/id/" . $p['id'] . "\",\"" . $menunamestr . "\")'>Add</a>";
                                         break;
                                     case '2':
                                         $menunamestr = $p['menuName'] . ' - Edit';
                                         $output .= "<a  name='' class=''  title='Edit' onclick='displaydeptform(\"" . DOMAIN . "logmanager/view/id/" . $p['id'] . "\",\"" . $menunamestr . "\")'>Edit</a>";
                                         break;
                                     case '3':
                                         $valToInclude = "Delete";
                                         $output .= " <span " . $dataclass . " title='Delete' class='emp-name' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                         break;
                                     case '5':
                                         $valToInclude = "Cancel";
                                         $output .= " <span " . $dataclass . " title='Cancel' class='emp-name' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                         break;
                                 }
                             } else {
                                 if ($k == 'key_flag') {
                                     $modurl = ltrim($p['menuUrl'], '/');
                                     if ($p['user_action'] != 3 && $p['user_action'] != 5 && $p['menuName'] != 'Leave Request' && $p['menuName'] != 'Manage Employee Leaves' && $p['menuName'] != 'Manage Modules') {
                                         if (in_array($p['menuName'], $viewLinkArray)) {
                                             $urlink = DOMAIN . $modurl . '/view/id/' . $p[$k];
                                         } else {
                                             $urlink = DOMAIN . $modurl . '/edit/id/' . $p[$k];
                                         }
                                         $output .= '<a href= "' . $urlink . '" target="_blank" name="" class=""  title="View Record">View Record</a>';
                                     } else {
                                         if ($p['menuName'] == 'Manage Modules') {
                                             $output .= "<span " . $dataclass . " title=" . $p[$k] . " class='emp-name' >" . htmlentities($p[$k], ENT_QUOTES, "UTF-8") . "</span>";
                                         } else {
                                             $output .= '';
                                         }
                                     }
                                 } else {
                                     if ($k == 'last_modifieddate' || $k == 'logindatetime') {
                                         $output .= $imgtag . " <span " . $dataclass . " title='" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "' class='emp-name' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                     } else {
                                         $output .= $imgtag . " <span " . $dataclass . " title='" . htmlentities($p[$k], ENT_QUOTES, "UTF-8") . "' class='emp-name' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                     }
                                 }
                             }
                         }
                     }
                 }
                 $output .= "</td>";
                 $bodyCount++;
             }
         }
         // Close the Table Row
         $output .= "</tr>";
     }
     if ($ii == 0) {
         $output .= "<tr><td colspan='{$colinr}' class='no-data-td'><p class='no-data'>No data found</p></td></tr>";
     }
     $output .= "</tbody>";
     $output .= "</table>\n                <script type='text/javascript' language='javascript'>\n                \$(document).ready(function(){\n                                    \n                                    \n                                    if(\$('.searchtxtbox_" . $name . "').is(':visible'))\n                                    {\n                                        \n                                        \$('#search_tr_" . $name . "').show();\t\n                                    }\n                                    else \n                                        \n                                        \$('#search_tr_" . $name . "').hide();\t\n                                    });\n                </script>    \n                </div>";
     // Attach Pagination
     if ($paginator) {
         $params = array();
         $params['jsGridFnName'] = $jsGridFnname;
         $params['perPage'] = $perPage;
         $params['objname'] = $name;
         $params['searchArray'] = $searchArray;
         $params['formgrid'] = $formgrid;
         $params['con'] = $con;
         $params['dashboardcall'] = $dashboardCall;
         $params['sortname'] = $sortname;
         $params['by'] = $by;
         $output .= $this->view->paginationControl($paginator, 'Sliding', 'partials/pagination.phtml', $params);
     }
     $output .= "<script type='text/javascript' language='javascript'>\$('#{$name}').slimScrollHorizontal({\n\t\t\t\t\t\t\t\t\t  alwaysVisible: false,\n\t\t\t\t\t\t\t\t\t  start: 'left',\n\t\t\t\t\t\t\t\t\t  position: 'bottom',\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t}).css({ background: '#ccc', paddingBottom: '10px' }); </script>";
     $output .= "<script type='text/javascript' language='javascript'>\n\t\t\t\t\t\tvar id = \$('#columnId').val();\n\t\t\t\t\t\tvar coldata = \$('#'+id).val();\n\t\t\t\t\t\tvar focusID = \$('#columnId').val();\n                                                var fval = \$('#'+focusID).attr('data-focus');\n                                                if(fval == '' || fval == null)\n\t\t\t\t\t\t\$('#'+focusID).focus().val('').val(coldata);\n                                                \n\t\t\t\t\t</script>";
     return $output;
 }
Example #3
0
 /**
  * Packs message and priority into Event array
  *
  * @param  string   $message   Message to log
  * @param  integer  $priority  Priority of message
  * @return array Event array
  */
 protected function _packEvent($message, $priority)
 {
     return array_merge(array('timestamp' => sapp_Global::getDisplayDate(gmdate($this->_timestampFormat)), 'message' => $message, 'priority' => $priority, 'priorityName' => $this->_priorities[$priority]), $this->_extras);
 }
Example #4
0
 public function activitylogreportAction()
 {
     try {
         $activitylog_model = new Default_Model_Activitylog();
         $logmanager_model = new Default_Model_Logmanager();
         $dashboardcall = $this->_getParam('dashboardcall');
         if ($dashboardcall == 'Yes') {
             $perPage = DASHBOARD_PERPAGE;
         } else {
             $perPage = PERPAGE;
         }
         $selectFields = array('menuname' => 'Menu', 'username' => 'User Name', 'empId' => 'Employee ID', 'useraction' => 'Action', 'modifieddate' => 'Modified Date');
         $selectColumns = array_keys($selectFields);
         $action = array('1' => 'Add', '2' => 'Edit', '3' => 'Delete', '5' => 'Cancel');
         $activityLogData = array();
         $splitArray = array();
         $pageNo = 1;
         $order = $funorder = 'Desc';
         $by = $sortby = 'last_modifieddate';
         $searchData = '';
         $lastpage = 0;
         if ($this->getRequest()->getPost()) {
             $this->_helper->layout->disableLayout();
         }
         if ($this->_request->getParam('pageNo') != '') {
             $pageNo = intval($this->_request->getParam('pageNo'));
         }
         if ($this->_request->getParam('per_page') != '') {
             $perPage = intval($this->_request->getParam('per_page'));
         }
         if ($this->_request->getParam('fields') != '') {
             $selectColumns = explode(',', $this->_request->getParam('fields'));
         }
         $finalArray = array();
         //POST with empty search fields
         if ($this->_request->getParam('hiddenusername') == '' && $this->_request->getParam('menu') == '' && $this->_request->getParam('useraction') == '' && $this->_request->getParam('modifieddate') == '') {
             if ($this->_request->getParam('sortby') != '') {
                 $by = $sortby = $this->_request->getParam('sortby');
                 $order = $funorder = $this->_request->getParam('order');
                 if ($sortby == 'userfullname') {
                     $by = '';
                     $usernameorder = $logmanager_model->getUsernameOrderForLog($order);
                     if (!empty($usernameorder)) {
                         $funorder = 'FIND_IN_SET(last_modifiedby,"' . $usernameorder . '")';
                     }
                 }
                 if ($sortby == 'employeeId') {
                     $by = '';
                     $empidorder = $logmanager_model->getEmpidOrderForLog($order);
                     if (!empty($empidorder)) {
                         $funorder = 'FIND_IN_SET(last_modifiedby,"' . $empidorder . '")';
                     }
                 }
                 if ($sortby == 'menuname') {
                     $by = '';
                     $menunameorder = $logmanager_model->getMenuOrderForLog($order);
                     if (!empty($menunameorder)) {
                         $funorder = 'FIND_IN_SET(menuId,"' . $menunameorder . '")';
                     }
                 }
             }
             $activityLogData = $logmanager_model->getLogManagerDataReport($by, $funorder, $pageNo, $perPage, $searchData, array('*'));
             $activityLogCount = $activitylog_model->getLogManagerCount();
             $menuArray = array();
             $userArray = array();
             if (count($activityLogData) > 0) {
                 $lastpage = ceil($activityLogCount / $perPage);
                 foreach ($activityLogData as $activitylog) {
                     if (isset($activitylog['menuId'])) {
                         if (!in_array($activitylog['menuId'], $menuArray)) {
                             array_push($menuArray, $activitylog['menuId']);
                         }
                     }
                     if (isset($activitylog['last_modifiedby'])) {
                         if (!in_array($activitylog['last_modifiedby'], $userArray)) {
                             array_push($userArray, $activitylog['last_modifiedby']);
                         }
                     }
                 }
             }
             $menuNameArray = $activitylog_model->getMenuNamesByIds($menuArray);
             $userNameArray = $activitylog_model->getuserNamesByIds($userArray);
             if (count($activityLogData) > 0) {
                 foreach ($activityLogData as $key => $activitylog) {
                     if (in_array('menuname', $selectColumns)) {
                         $finalArray[$key]['menuname'] = isset($menuNameArray[$activitylog['menuId']]) ? $menuNameArray[$activitylog['menuId']]['name'] : '';
                     }
                     if (in_array('username', $selectColumns)) {
                         $finalArray[$key]['username'] = isset($userNameArray[$activitylog['last_modifiedby']]) ? $userNameArray[$activitylog['last_modifiedby']]['userfullname'] : '';
                     }
                     if (in_array('empId', $selectColumns)) {
                         $finalArray[$key]['empId'] = isset($userNameArray[$activitylog['last_modifiedby']]) ? $userNameArray[$activitylog['last_modifiedby']]['employeeId'] : '';
                     }
                     if (in_array('useraction', $selectColumns)) {
                         $finalArray[$key]['useraction'] = $action[$activitylog['user_action']];
                     }
                     if (in_array('modifieddate', $selectColumns)) {
                         $finalArray[$key]['modifieddate'] = sapp_Global::getDisplayDate($activitylog['last_modifieddate']);
                     }
                 }
             }
         } else {
             // with search values from form
             $searchQuery = '';
             if ($this->_request->getParam('menu') != '') {
                 $searchQuery .= ' menuId =' . intval($this->_request->getParam('menu')) . ' AND';
             }
             if ($this->_request->getParam('useraction') != '') {
                 $searchQuery .= ' user_action =' . intval($this->_request->getParam('useraction')) . ' AND';
             }
             if ($this->_request->getParam('hiddenusername') != '') {
                 $username = $this->_request->getParam('hiddenusername');
                 //userid in request
                 $searchQuery .= ' log_details Like \'%"userid":"' . $username . '"%\' AND';
             }
             if ($this->_request->getParam('modifieddate') != '') {
                 $date = sapp_Global::change_date($this->_request->getParam('modifieddate'), 'database');
                 $date1 = str_replace('-', '/', $date);
                 $onedayafter = date('Y-m-d', strtotime($date1 . "+1 days"));
                 $onedaybefore = date('Y-m-d', strtotime($date1 . "-1 days"));
                 $searchQuery .= '(log_details Like "%' . $onedaybefore . '%" or log_details Like "%' . $date . '%" or log_details Like "%' . $onedayafter . '%")';
             }
             if ($searchQuery != '') {
                 $searchQuery = rtrim($searchQuery, " AND");
             }
             $activityLogData = $logmanager_model->getLogManagerDataReport('last_modifieddate', 'Desc', '', '', $searchQuery, array('*'));
             /*looping jsonlogs */
             if (count($activityLogData) > 0) {
                 $userArray = array();
                 $menuArray = array();
                 $logJsonArray = array();
                 $jsonCount = 0;
                 $index = 0;
                 foreach ($activityLogData as $activitylog) {
                     $logdetails = '{"testjson":[' . $activitylog['log_details'] . ']}';
                     $logarr = @get_object_vars(json_decode($logdetails));
                     if (!empty($logarr)) {
                         $logarr['testjson'] = array_reverse($logarr['testjson']);
                         $jsonCount = count($logarr['testjson']);
                     }
                     if ($jsonCount > 0 && isset($logarr['testjson']) && !empty($logarr['testjson'])) {
                         foreach ($logarr['testjson'] as $key => $curr) {
                             $currArray = @get_object_vars($curr);
                             /*userid and date check with form and json values*/
                             $flag = false;
                             if ($this->_request->getParam('modifieddate') != '') {
                                 $currArrayTemp = sapp_Global::getGMTformatdate($currArray['date']);
                                 $pos = strpos($currArrayTemp, $date);
                                 $flag = $pos !== false ? false : true;
                             }
                             if ($this->_request->getParam('hiddenusername') != '' && $username != $currArray['userid'] || $flag) {
                                 continue;
                             }
                             /*end userid and date check*/
                             $logJsonArray[$index]['userid'] = $currArray['userid'] != '' ? $currArray['userid'] : 1;
                             $logJsonArray[$index]['date'] = $currArray['date'];
                             $datesort[$index] = $currArray['date'];
                             // to sort by date
                             if (!in_array($currArray['userid'], $userArray)) {
                                 array_push($userArray, $currArray['userid']);
                             }
                             if (isset($activitylog['menuId'])) {
                                 if (!in_array($activitylog['menuId'], $menuArray)) {
                                     array_push($menuArray, $activitylog['menuId']);
                                 }
                             }
                             $logJsonArray[$index]['menu'] = $activitylog['menuId'];
                             $logJsonArray[$index]['action'] = $action[(string) $activitylog['user_action']];
                             $actionsort[$index] = $action[(string) $activitylog['user_action']];
                             $index++;
                         }
                     }
                 }
                 $menuNameArray = $activitylog_model->getMenuNamesByIds($menuArray);
                 $userNameArray = $activitylog_model->getuserNamesByIds($userArray);
                 $lastpage = ceil(count($logJsonArray) / $perPage);
                 $endIndex = intval($perPage);
                 if ($pageNo != 1) {
                     $startIndex = (intval($pageNo) - 1) * intval($perPage);
                 } else {
                     $startIndex = 0;
                 }
                 if (count($logJsonArray) > 0) {
                     if ($this->_request->getParam('sortby') != '') {
                         $sortby = $this->_request->getParam('sortby');
                         $order = $this->_request->getParam('order');
                         $orderby = $order == 'asc' ? SORT_ASC : SORT_DESC;
                         if ($sortby == 'user_action' || $sortby == 'last_modifieddate') {
                             // can sort by logJsonArray
                             if ($sortby == 'user_action') {
                                 array_multisort($actionsort, $orderby, $logJsonArray);
                             }
                             if ($sortby == 'last_modifieddate') {
                                 array_multisort($datesort, $orderby, $logJsonArray);
                             }
                             /* only perpage no of rows */
                             $splitArray = array_slice($logJsonArray, $startIndex, $endIndex);
                             foreach ($splitArray as $key => $logjson) {
                                 if (in_array('menuname', $selectColumns)) {
                                     $finalArray[$key]['menuname'] = isset($menuNameArray[(string) $logjson['menu']]) ? $menuNameArray[(string) $logjson['menu']]['name'] : '';
                                 }
                                 if (in_array('username', $selectColumns)) {
                                     $finalArray[$key]['username'] = isset($userNameArray[(string) $logjson['userid']]) ? $userNameArray[(string) $logjson['userid']]['userfullname'] : '';
                                 }
                                 if (in_array('empId', $selectColumns)) {
                                     $finalArray[$key]['empId'] = isset($userNameArray[(string) $logjson['userid']]) ? $userNameArray[(string) $logjson['userid']]['employeeId'] : '';
                                 }
                                 if (in_array('useraction', $selectColumns)) {
                                     $finalArray[$key]['useraction'] = $logjson['action'];
                                 }
                                 if (in_array('modifieddate', $selectColumns)) {
                                     $finalArray[$key]['modifieddate'] = sapp_Global::getDisplayDate($logjson['date']);
                                 }
                             }
                         } else {
                             $totalArray = array();
                             foreach ($logJsonArray as $key => $logjson) {
                                 if (in_array('menuname', $selectColumns)) {
                                     $totalArray[$key]['menuname'] = isset($menuNameArray[(string) $logjson['menu']]) ? $menuNameArray[(string) $logjson['menu']]['name'] : '';
                                 }
                                 $menunameSort[$key] = $totalArray[$key]['menuname'];
                                 if (in_array('username', $selectColumns)) {
                                     $totalArray[$key]['username'] = isset($userNameArray[(string) $logjson['userid']]) ? $userNameArray[(string) $logjson['userid']]['userfullname'] : '';
                                 }
                                 $usernameSort[$key] = $totalArray[$key]['username'];
                                 if (in_array('empId', $selectColumns)) {
                                     $totalArray[$key]['empId'] = isset($userNameArray[(string) $logjson['userid']]) ? $userNameArray[(string) $logjson['userid']]['employeeId'] : '';
                                 }
                                 $empIdSort[$key] = $totalArray[$key]['empId'];
                                 if (in_array('useraction', $selectColumns)) {
                                     $totalArray[$key]['useraction'] = $logjson['action'];
                                 }
                                 if (in_array('modifieddate', $selectColumns)) {
                                     $totalArray[$key]['modifieddate'] = sapp_Global::getDisplayDate($logjson['date']);
                                 }
                             }
                             if ($sortby == 'userfullname') {
                                 array_multisort($usernameSort, $orderby, $totalArray);
                             }
                             if ($sortby == 'employeeId') {
                                 array_multisort($empIdSort, $orderby, $totalArray);
                             }
                             if ($sortby == 'menuname') {
                                 array_multisort($menunameSort, $orderby, $totalArray);
                             }
                             /* only perpage no of rows */
                             if (count($totalArray) >= intval($perPage)) {
                                 $finalArray = array_slice($totalArray, $startIndex, $endIndex);
                             } else {
                                 $finalArray = $totalArray;
                             }
                         }
                     }
                 }
             }
         }
         if ($this->getRequest()->getPost()) {
             // To generate PDF START
             if ($this->_request->getParam('generatereport') == 'pdf') {
                 $this->generateActivityLogPdf($finalArray, $selectColumns);
             }
         }
         if ($this->_request->getParam('generatereport') == 'xcel') {
             //xcel generation
             foreach ($selectFields as $key => $val) {
                 foreach ($selectColumns as $column) {
                     if ($column == $key) {
                         $selectColumnLabels[$key] = $val;
                     }
                 }
             }
             sapp_Global::export_to_excel($finalArray, $selectColumnLabels, 'Activitylog Report.xlsx');
             exit;
         }
         $activitylogreport_form = new Default_Form_activitylogreport();
         $this->view->form = $activitylogreport_form;
         $this->view->totalselectfields = $selectFields;
         $this->view->tabkeys = implode(',', $selectColumns);
         $this->view->activitylogData = $finalArray;
         $this->view->pageNo = $pageNo;
         $this->view->perPage = $perPage;
         $this->view->sortBy = $sortby;
         $this->view->order = $order;
         $this->view->lastPageNo = $lastpage;
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
Example #5
0
 /**
  *
  * @param string $name
  * @param array $fields
  * @param Zend_Paginator Instance $paginator
  * @param array $extracolumn
  * @param Bool  $sorting
  *
  * @return string
  */
 public function generateGrid($name, $fields = null, $paginator = null, $extracolumn = array(), $sorting = false, $jsGridFnname = '', $perPage = '5', $page = '1', $jsFillFnName = '', $searchArray = '', $formgrid = 'false', $addaction = '', $menuName = '', $unitId, $addpermission, $menunamestr, $call = '', $sortStr = '', $search_filters = '', $dashboardCall = 'No', $empstatus = '', $actnArr, $empscreenTotalCount = '', $sortname = '', $by = '')
 {
     $request = Zend_Controller_Front::getInstance();
     $params = $request->getRequest()->getParams();
     $controllerName = $request->getRequest()->getControllerName();
     $actionName = $request->getRequest()->getActionName();
     $dataclass = '';
     // Store Extra Columns
     $this->extra = $extracolumn;
     $sortIconStr = "";
     $sort = Zend_Controller_Front::getInstance()->getRequest()->getParam('sort', 'DESC');
     // checking and handling sorting.
     if ($sort == "") {
         $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-n'></span>\n\t\t\t<span class='ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-s'></span></span>";
     } else {
         if ($sort == 'ASC') {
             $sort = 'DESC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-desc ui-icon ui-icon-triangle-1-n'></span>\n\t\t\t</span>";
         } else {
             $sort = 'ASC';
             //For Sort Icons....
             $sortIconStr = "<span class='s-ico'>\n\t\t\t<span class='ui-icon-asc  ui-icon ui-icon-triangle-1-s'></span></span>";
         }
     }
     if ($call != "ajaxcall") {
         $sortIconStr = "";
     }
     if ($addaction != '') {
         $action = $addaction;
         $popupaction = 'addpopup';
     } else {
         $action = "edit";
         $popupaction = 'editpopup';
     }
     $con = '';
     if ($formgrid != '') {
         $urlString = trim($_SERVER['REQUEST_URI']);
         $serverUrl = $_SERVER['HTTP_HOST'];
         $urlData = explode('/', $urlString);
         if ($unitId != '') {
             $con = 'unitId/' . $unitId;
         } else {
             if (isset($params['id'])) {
                 $con = 'unitId/' . $params['id'];
             }
         }
         if ($name == 'empscreening') {
             $empaction = 'add';
             $output = "<div class='table-header'><span>" . $menuName . "</span><a href='" . BASE_URL . $name . '/' . $empaction . "'><input type='button' title = 'Adds'  value='Add Record' class='sprite addrecord' /></a></div>";
         } else {
             if ($name == 'processes' && $empstatus != 'Active' && $empstatus != '') {
                 $output = "<div class='table-header'><span>" . $menuName . "</span></div>";
             } else {
                 $output = "<div class='table-header'><span>" . $menuName . "</span><input type='button' title = 'Add'  onclick='displaydeptform(\"" . BASE_URL . $name . '/' . $popupaction . "/{$con}/popup/1\",\"" . $menunamestr . "\")' value='Add Record' class='sprite addrecord' /></div>";
             }
         }
     } else {
         if ($name == 'policydocuments' && !empty($this->pd_category_name)) {
             $output = "<div class='table-header'><span>" . $this->pd_category_name . "</span>";
         } else {
             $output = "<div class='table-header'><span>" . $menuName . "</span>";
         }
         if ($name == 'candidatedetails') {
             $output .= "<div class='add-multi-resume'><a href='" . BASE_URL . "candidatedetails/multipleresume'>Add multiple CVs</a></div>";
         }
         if ($name == 'policydocuments') {
             $output .= "<a href='" . BASE_URL . $name . '/' . $action . "/cat/" . $this->pd_category_id . "'><input type='button' title = 'Add' value='Add Record' class='sprite addrecord' /></a>";
         } else {
             $output .= "<a href='" . BASE_URL . $name . '/' . $action . "'><input type='button' title = 'Add' value='Add Record' class='sprite addrecord' /></a>";
         }
         $output .= "</div>";
     }
     if ($addpermission == 'false') {
         if ($name == 'policydocuments' && !empty($this->pd_category_name)) {
             $output = "<div class='table-header'><span>" . $this->pd_category_name . "</span></div>";
         } else {
             $output = "<div class='table-header'><span>" . $menuName . "</span></div>";
         }
     }
     $output .= "<div id='" . $name . "' class='details_data_display_block newtablegrid'>";
     $output .= "<table class='grid' align='center'  width='100%' cellspacing='0' cellpadding='4' border='0'><thead><tr>";
     // this foreach loop display the column header  in �th� tag.
     $colinr = 0;
     if (!empty($fields)) {
         $tabindx = 0;
         if (empty($actnArr)) {
             unset($fields['action']);
         }
         foreach ($fields as $key => $value) {
             if (isset($value['align'])) {
                 $align = @$value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
             }
             if (isset($value['sortkey'])) {
                 $sortkey = @$value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
             }
             if (isset($value['style'])) {
                 $style = @$value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
             }
             $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
             if ($value == 'Action') {
                 $width = 'width=90';
             } else {
                 $width = '';
             }
             //'width='.$eachColumnWidth;
             $output .= "<th " . $width . ">";
             // Check if Sorting is set to True
             if ($sorting) {
                 // Disable Sorting if Key is in Extra Columns
                 if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                     if ($value == "Action") {
                         $output .= "<span class='action-text'>Action</span>";
                     } else {
                         $output .= $value;
                     }
                 } else {
                     if (is_array($value)) {
                         $key = $value['sortkey'];
                         $value = $value['value'];
                     }
                     $welcome = 'false';
                     $urlString = $_SERVER['REQUEST_URI'];
                     if (strpos($urlString, 'welcome') !== false) {
                         $welcome = 'true';
                     }
                     if ($formgrid == 'true') {
                         if ($value == 'Explanation' && ($name = "processes")) {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . BASE_URL . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "<img title='Reason to complete the process.' src='" . DOMAIN . "public/media/images/help.png' /></a>";
                         } else {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . BASE_URL . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                         }
                         //For Sort Icons....
                         if ($key == $sortStr) {
                             $output .= $sortIconStr;
                         }
                     } else {
                         if ($welcome == 'true') {
                             $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . BASE_URL . $name . "/index/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                             //For Sort Icons....
                             if ($key == $sortStr) {
                                 $output .= $sortIconStr;
                             }
                         } else {
                             if ($name == 'policydocuments') {
                                 $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . BASE_URL . $name . "/id/" . $this->pd_category_id . "/sort/" . $sort . "/by/" . $key . "/objname/" . $name . "/page/" . $page . "/per_page/" . $perPage . "/call/ajaxcall/{$con}/');>" . $value . "</a>";
                                 //For Sort Icons....
                                 if ($key == $sortStr) {
                                     $output .= $sortIconStr;
                                 }
                             } else {
                                 $output .= "<a href='javascript:void(0);' onclick=javascript:paginationndsorting('" . $this->view->url(array('sort' => $sort, 'by' => $key, 'objname' => $name, 'page' => $page, 'per_page' => $perPage)) . "');>" . $value . "</a>";
                                 //For Sort Icons....
                                 if ($key == $sortStr) {
                                     $output .= $sortIconStr;
                                 }
                             }
                         }
                     }
                 }
             } else {
                 //For Sort Icons....
                 if ($key == $sortStr) {
                     $output .= $sortIconStr;
                 }
                 $output .= $value;
             }
             $output .= "</th>";
             $colinr++;
             $tabindx++;
         }
         //end of for each loop
         $output .= "</tr><tr id='search_tr_{$name}'>";
         $tabindx = 0;
         foreach ($fields as $key => $value) {
             if (isset($value['align'])) {
                 $align = @$value['align'] != '' ? 'align="' . $value['align'] . '" ' : '';
             }
             if (isset($value['sortkey'])) {
                 $sortkey = @$value['sortkey'] != '' ? 'align="' . $value['sortkey'] . '" ' : '';
             }
             if (isset($value['style'])) {
                 $style = @$value['style'] != '' ? 'style="' . $value['style'] . '" ' : '';
             }
             $value = is_array($value) && !isset($value['sortkey']) ? $value['value'] : $value;
             if ($value == 'Action') {
                 $width = 'width=90';
             } else {
                 $width = '';
             }
             $output .= "<th " . $width . ">";
             // Check if Sorting is set to True
             if ($sorting) {
                 // Disable Sorting if Key is in Extra Columns
                 if (@$this->extra[$key]['name'] != '' && !is_array($value)) {
                     if ($value == "Action") {
                         $output .= "<span class='action-text'></span>";
                     } else {
                         $output .= $value;
                     }
                 } else {
                     if (is_array($value)) {
                         $key = $value['sortkey'];
                         $value = $value['value'];
                     }
                     $welcome = 'false';
                     $urlString = $_SERVER['REQUEST_URI'];
                     if ($key != 'id' && $key != 'initialize_status' && $key != 'appraisal_process_status') {
                         $sText = '';
                         if (!empty($searchArray)) {
                             $display = 'display: block;';
                         } else {
                             $display = 'display: none;';
                         }
                         if ($controllerName == 'myemployees' && $actionName == 'index') {
                             $display = '';
                         }
                         if (is_array($searchArray)) {
                             if (array_key_exists($key, $searchArray)) {
                                 $sText = $searchArray[$key];
                             } else {
                                 $sText = '';
                             }
                         }
                         if (isset($search_filters[$key])) {
                             $search_function = 'getsearchdata("' . $name . '","",this.id,event';
                             $output .= sapp_Global::grid_data($search_filters, $key, $name, $display, $sText, $tabindx, $search_function);
                         } else {
                             $output .= "<input tabIndex={$tabindx} type='text' name='{$name}' id='{$key}' style='{$display}' class='searchtxtbox_{$name} table_inputs grid_search_inputs' value=\"{$sText}\" onKeypress='if (!((event.keyCode || event.which) > 47 && (event.keyCode || event.which) < 58) && !((event.keyCode || event.which) > 64  && (event.keyCode || event.which) < 91)  && !((event.keyCode || event.which) > 96  && (event.keyCode || event.which) < 123) && ((event.keyCode || event.which) != 45) && ((event.keyCode || event.which) != 63) && ((event.keyCode || event.which) != 39) && ((event.keyCode || event.which) != 46) && ((event.keyCode || event.which) != 44) && ((event.keyCode || event.which) != 47) && ((event.keyCode || event.which) != 35) && ((event.keyCode || event.which) != 64) && ((event.keyCode || event.which) != 36) && ((event.keyCode || event.which) != 38) && ((event.keyCode || event.which) != 42) && ((event.keyCode || event.which) != 40) && ((event.keyCode || event.which) != 41) && ((event.keyCode || event.which) != 33) && ((event.keyCode || event.which) != 32) && ((event.keyCode || event.which) != 8)) event.preventDefault();' onkeydown='getsearchdata(\"{$name}\",\"\",this.id,event,\"text\")' />";
                         }
                     }
                 }
             } else {
                 //For Sort Icons....
                 if ($key == $sortStr) {
                     $output .= $sortIconStr;
                 }
                 $output .= $value;
             }
             $output .= "</th>";
             $colinr++;
             $tabindx++;
         }
         //end of for each loop
     }
     $output .= "</tr>\n\n        </thead>";
     $output .= "<tbody>";
     // Start Looping Data
     $ii = 0;
     foreach ($paginator as $p) {
         $cell_color = $ii % 2 == 0 ? "row1" : "row2";
         $ii++;
         $bodyCount = 0;
         $output .= "<tr onclick='selectrow({$name},this);' class='{$cell_color}'>";
         // Reset Fields Array to Top
         if (!empty($fields)) {
             reset($fields);
             foreach ($fields as $k => $v) {
                 $tdclass = '';
                 // Look for additional attributes
                 $characterlimit = 40;
                 if (is_array($v)) {
                     $class = @$v['class'] != '' ? 'class="' . $v['class'] . '" ' : '';
                     $align = @$v['align'] != '' ? 'align="' . $v['align'] . '" ' : '';
                     $valign = @$v['valign'] != '' ? 'valign="' . $v['valign'] . '" ' : '';
                     if (isset($v['characterlimit'])) {
                         $characterlimit = $v['characterlimit'];
                     }
                     $output .= "<td {$tdclass}{$align}{$valign}>";
                 } else {
                     if ($k == 'description' && $menuName == 'Screening Types') {
                         $characterlimit = 80;
                     }
                     $output .= "<td {$tdclass}>";
                 }
                 // Check to see if this Field is in Extra Columns
                 if (isset($this->extra[$k]['value'])) {
                     $output .= $this->_parseExtra($k, $p);
                 } else {
                     if ($bodyCount == 0 && $jsFillFnName != '') {
                         $valToInclude = strlen($p[$k]) > $characterlimit ? substr($p[$k], 0, $characterlimit) . ".." : $p[$k];
                         $output .= "<a onclick= " . $jsFillFnName . "(\"/id/{$p['id']}\") href= 'javascript:void(0)' title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</a>";
                     } else {
                         $p = (array) $p;
                         if (isset($p[$k])) {
                             // Customize grid field data
                             switch ($menuName) {
                                 case 'Announcements':
                                     switch ($k) {
                                         // Strip tags
                                         case 'description':
                                             $stip_tags_text = strip_tags($p[$k]);
                                             $valToInclude = strlen($stip_tags_text) > $characterlimit ? substr($stip_tags_text, 0, $characterlimit) . ".." : $stip_tags_text;
                                             break;
                                         default:
                                             $valToInclude = strlen($p[$k]) > $characterlimit ? substr($p[$k], 0, $characterlimit) . ".." : $p[$k];
                                             break;
                                     }
                                     break;
                                 case 'View/Manage Policy Documents':
                                     //case to handle file names in policy documents module
                                     switch ($k) {
                                         // Strip tags
                                         case 'description':
                                             $stip_tags_text = strip_tags($p[$k]);
                                             $valToInclude = strlen($stip_tags_text) > $characterlimit ? substr($stip_tags_text, 0, $characterlimit) . ".." : $stip_tags_text;
                                             break;
                                         case 'file_name':
                                             $valToInclude = $p[$k];
                                             break;
                                         default:
                                             $valToInclude = strlen($p[$k]) > $characterlimit ? substr($p[$k], 0, $characterlimit) . ".." : $p[$k];
                                             break;
                                     }
                                     break;
                                 default:
                                     $valToInclude = strlen($p[$k]) > $characterlimit ? substr($p[$k], 0, $characterlimit) . ".." : $p[$k];
                                     break;
                             }
                             if ($k == 'isactive' && ($p[$k] == 'Process deleted' || $p[$k] == 'Agency User deleted' || $p[$k] == 'POC deleted' || $p[$k] == 'Agency deleted') && $menuName == 'Background check Process') {
                                 $dataclass = 'class="reddata"';
                                 echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\$('#del'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t</script>";
                             } else {
                                 if ($menuName == 'Manage External Users') {
                                     echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\$('#del'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t</script>";
                                 }
                             }
                             if ($empstatus != 'Active' && $empstatus != '' && $menuName == 'Background check Process') {
                                 echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\$('#del'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t</script>";
                             }
                             if ($k == 'backgroundchk_status' && $p[$k] == 'Complete' && $menuName == 'Employee/Candidate Screening') {
                                 $dataclass = 'class="greendata"';
                             }
                             if ($controllerName == 'appraisalmanager' && ($p['org_status'] == 2 || $p['org_status'] == 3 || $p['enable_step'] == 2 || $p['managerid_status'] != 0)) {
                                 //echo '<pre>';print_r($p);
                                 //if($p['org_status'] == 2 || $p['org_status'] == 3 || $p['enable_step']==2 || $p['managerid_status']!=0)
                                 //{
                                 echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\t\$('#del" . $p['id'] . "').remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t</script>";
                                 //}
                             }
                             if ($controllerName == 'appraisalquestions' || $controllerName == 'appraisalcategory' || $controllerName == 'feedforwardquestions') {
                                 if ($p['isused'] == 1) {
                                     echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\t\$('#del" . $p['id'] . "').remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t</script>";
                                 }
                             }
                             /** added on 27-04-2015 by sapplica
                              **  to remove edit buttons in appraisal settings page when status is not empty
                              **/
                             if ($controllerName == 'appraisalconfig' && $p['status'] != '') {
                                 echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t</script>";
                             }
                             //removing edit,dele icons for announcements
                             if ($controllerName == 'announcements') {
                                 //echo "<pre>";print_r($p);
                                 $businessunit_id = $department_id = '';
                                 $auth = Zend_Auth::getInstance();
                                 if ($auth->hasIdentity()) {
                                     $loginUserId = $auth->getStorage()->read()->id;
                                     $loginuserRole = $auth->getStorage()->read()->emprole;
                                     $loginuserGroup = $auth->getStorage()->read()->group_id;
                                     $businessunit_id = $auth->getStorage()->read()->businessunit_id;
                                     $department_id = $auth->getStorage()->read()->department_id;
                                 }
                                 //checking roles and Removing Edit & Delete previliges
                                 if ($loginuserGroup == HR_GROUP && (!empty($businessunit_id) || !empty($department_id))) {
                                     $bunitArr = isset($p['businessunit_id']) ? explode(',', $p['businessunit_id']) : array();
                                     $deptArr = isset($p['department_id']) ? explode(',', $p['department_id']) : array();
                                     if (!in_array($businessunit_id, $bunitArr) && !in_array($department_id, $deptArr)) {
                                         echo "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\$(document).ready(function() { \n\t\t\t\t\t\t\t\t\t\t\t\t\t\$('#del" . $p['id'] . "').remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\$('#edit'+" . $p['id'] . ").remove();\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t</script>";
                                     }
                                 }
                             }
                             //
                             /**
                              * Customize grid fields data - START
                              * In the below code, First Case - Menu name
                              * Second Case - Grid field
                              * Keep 'default' case to allow display other Grids, normal.
                              */
                             switch ($menuName) {
                                 case 'CV Management':
                                     switch ($k) {
                                         case 'cand_resume':
                                             if (!empty($valToInclude)) {
                                                 $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' ><a href='" . BASE_URL . $name . '/download/id/' . $p["id"] . "'>View Resume</a></span>";
                                             }
                                             break;
                                         default:
                                             $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                             break;
                                     }
                                     break;
                                     // Strip HTML tags for 'description' field in Organization->Announcements grid
                                 // Strip HTML tags for 'description' field in Organization->Announcements grid
                                 case 'Announcements':
                                     switch ($k) {
                                         case 'description':
                                             $output .= "<span " . $dataclass . " title='" . htmlentities(strip_tags(trim($p[$k])), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                             break;
                                         default:
                                             $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                             break;
                                     }
                                     break;
                                 case 'View/Manage Policy Documents':
                                     //case to handle file names in policy documents module
                                     switch ($k) {
                                         case 'description':
                                             $output .= "<span " . $dataclass . " title='" . htmlentities(strip_tags(trim($p[$k])), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                             break;
                                         case 'file_name':
                                             $tmpFiles = json_decode($valToInclude);
                                             if ($tmpFiles[0]) {
                                                 $strFileName = strlen($tmpFiles[0]->original_name) > 40 ? substr($tmpFiles[0]->original_name, 0, 37) . "..." : htmlentities($tmpFiles[0]->original_name, ENT_QUOTES, "UTF-8");
                                                 $output .= "<a target='_blank' title='" . htmlentities(strip_tags(trim($tmpFiles[0]->original_name)), ENT_QUOTES, "UTF-8") . "' href='" . POLICY_DOC_PATH . $tmpFiles[0]->new_name . "'>" . $strFileName . "</a>";
                                             } else {
                                                 $output .= "<span " . $dataclass . "></span>";
                                             }
                                             break;
                                         default:
                                             $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                             break;
                                     }
                                     break;
                                 case 'All Exit Procedures':
                                     if ($k == 'createddate') {
                                         $output .= "<span " . $dataclass . ">" . sapp_Global::getDisplayDate($p[$k]) . "</span>";
                                     } else {
                                         $output .= "<span " . $dataclass . " title='" . htmlentities(trim($p[$k]), ENT_QUOTES, "UTF-8") . "' >" . htmlentities($valToInclude, ENT_QUOTES, "UTF-8") . "</span>";
                                     }
                                     break;
                                 default:
                                     $output .= "<span " . $dataclass . " title='" . trim($p[$k]) . "' >" . htmlentities($valToInclude, ENT_QUOTES, "ISO-8859-1") . "</span>";
                                     break;
                             }
                             // Customize grid fields data - END					htmlentities(trim($p[$k]), ENT_QUOTES, "ISO-8859-1")
                         }
                     }
                 }
                 $dataclass = '';
                 $output .= "</td>";
                 $bodyCount++;
             }
         }
         // Close the Table Row
         $output .= "</tr>";
     }
     if ($ii == 0) {
         $output .= "<tr><td colspan='{$colinr}' class='no-data-td'><p class='no-data'>No data found</p></td></tr>";
     }
     $output .= "</tbody>";
     $output .= "</table>\n                <script type='text/javascript' language='javascript'>\n                \$(document).ready(function(){\n                                                                        \n                                    if(\$('.searchtxtbox_" . $name . "').is(':visible'))\n                                    {\n                                        \n                                        \$('#search_tr_" . $name . "').show();\t\n                                    }\n                                    else \n                                        \n                                        \$('#search_tr_" . $name . "').hide();\t\n                                    });\n                </script>    \n                </div>";
     // Attach Pagination
     if ($paginator) {
         $params = array();
         $params['jsGridFnName'] = $jsGridFnname;
         $params['perPage'] = $perPage;
         $params['objname'] = $name;
         $params['searchArray'] = $searchArray;
         $params['formgrid'] = $formgrid;
         $params['con'] = $con;
         $params['dashboardcall'] = $dashboardCall;
         $params['sortname'] = $sortname;
         $params['by'] = $by;
         /** for policy documents **/
         $params['pd_category_id'] = $this->pd_category_id;
         if (isset($empscreenTotalCount) && $perPage != 0) {
             $empscreen_lastpage = ceil($empscreenTotalCount / $perPage);
             $params['empscreen_lastpage'] = $empscreen_lastpage;
         }
         $output .= $this->view->paginationControl($paginator, 'Sliding', 'partials/pagination.phtml', $params);
     }
     $output .= "<script type='text/javascript' language='javascript'>\$('#{$name}').slimScrollHorizontal({\n\t\t\t\t\t\t\t\t\t  alwaysVisible: false,\n\t\t\t\t\t\t\t\t\t  start: 'left',\n\t\t\t\t\t\t\t\t\t  position: 'bottom',\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t}).css({ background: '#ccc', paddingBottom: '10px' }); </script>";
     $output .= "<script type='text/javascript' language='javascript'>\n\t\t\t\t\t\tvar id = \$('#columnId').val();\n\t\t\t\t\t\tvar coldata = \$('#'+id).val();\n\t\t\t\t\t\tvar focusID = \$('#columnId').val();\n                                                var fval = \$('#'+focusID).attr('data-focus');\n                                                if(fval == '' || fval == null)\n\t\t\t\t\t\t\$('#'+focusID).focus().val('').val(coldata);\n                                                \n\t\t\t\t\t</script>";
     return $output;
 }