Example #1
0
 public function getPageCount($table, $pageRows, $req = array())
 {
     $pageAllRows = xgrid::getTableRowCount($table, $req);
     $extraRows = 0;
     $out = 0;
     if ($pageRows != 0) {
         $extraRows = $pageAllRows % $pageRows;
         $out = ($pageAllRows - $extraRows) / $pageRows;
     }
     if ((int) $extraRows != 0) {
         $out++;
     }
     return $out;
 }
Example #2
0
        $cust->setPoorsant($parvaz_det_id, (int) $_REQUEST["poorsant"]);
    } else {
        $mysql = new mysql_class();
        $mysql->ex_sqlx("update `parvaz_det` set `poor_def`='" . (int) $_REQUEST["poorsant"] . "' where `id`='{$parvaz_det_id}'");
    }
    $arg["toz"] = "مقدار " . $_REQUEST["poorsant"] . " پورسانت برای پرواز شماره" . $parvaz->shomare . ' تاریخ ' . $parvaz->tarikh . " ثبت گردید.";
    $arg["user_id"] = $_SESSION[$conf->app . "_user_id"];
    $arg["host"] = $_SERVER["REMOTE_ADDR"];
    $arg["page_address"] = $_SERVER["SCRIPT_NAME"];
    $arg["typ"] = 6;
    log_class::add($arg);
    die("ok");
}
$gname = 'customer_parvaz_poor';
$input = array($gname => array('table' => 'customer_parvaz', 'div' => 'customer_parvaz_poor_div'));
$xgrid = new xgrid($input);
//$xgrid->alert = TRUE;
$xgrid->eRequest[$gname] = array('parvaz_det_id' => $parvaz_det_id);
$xgrid->whereClause[$gname] = " `parvaz_det_id`={$parvaz_det_id} and `poorsant`<>0 ";
$xgrid->column[$gname][0]['name'] = '';
$xgrid->column[$gname][1]['name'] = 'مشتری';
$xgrid->column[$gname][1]['cfunction'] = array('loadMoshtari');
$xgrid->column[$gname][2]['name'] = '';
$xgrid->column[$gname][3]['name'] = 'کمیسیون';
$xgrid->column[$gname][4]['name'] = '';
$xgrid->column[$gname][5]['name'] = 'کاربر ثبت کننده';
$xgrid->column[$gname][5]['cfunction'] = array('loadUser');
$xgrid->column[$gname][6]['name'] = '';
$xgrid->column[$gname][7]['name'] = '';
$xgrid->column[$gname][8]['name'] = '';
$xgrid->deleteFunction[$gname] = 'del_item';
Example #3
0
 public function getOut($req)
 {
     $mysql = new mysql_class();
     $gname = '';
     $gtmp = array();
     foreach ($this->tables as $gname => $ttable) {
         $gtmp[$gname]['gname'] = $gname;
         $gtmp[$gname]['table'] = $ttable;
         $gtmp[$gname]['contentDiv'] = $this->contentDiv[$gname];
         $gtmp[$gname]['canAdd'] = $this->canAdd[$gname];
         $gtmp[$gname]['canEdit'] = $this->canEdit[$gname];
         $gtmp[$gname]['canDelete'] = $this->canDelete[$gname];
         $gtmp[$gname]['targetFile'] = $this->targetFile[$gname];
         $gtmp[$gname]['cssClass'] = $this->cssClass[$gname];
         $gtmp[$gname]['start'] = $this->start[$gname];
         $gtmp[$gname]['addColCount'] = $this->addColCount[$gname];
         $gtmp[$gname]['tableProperty'] = $this->tableProperty[$gname];
         $gtmp[$gname]['css'] = $this->css[$gname];
         $this->pageAllRows[$gname] = $this->getTableRowCount($ttable, $req);
         $this->pageCount[$gname] = $this->getPageCount($ttable, $this->pageRows[$gname], $req);
         $gtmp[$gname]['pageCount'] = $this->pageCount[$gname];
         $gtmp[$gname]['pageNumber'] = $this->pageNumber[$gname];
         $gtmp[$gname]['eRequest'] = $this->eRequest[$gname];
         $gtmp[$gname]['alert'] = $this->alert;
         $gtmp[$gname]['disableRowColor'] = $this->disableRowColor[$gname];
     }
     if (isset($req['command']) && isset($req['table']) && $req['command'] != 'csv') {
         $gname = trim($req['table']);
         $table = $this->tables[$gname];
         $this->done = TRUE;
         $fn = '';
         if (isset($req['field'])) {
             $fn = isset($this->column[$gname][$this->fieldToId($gname, $req['field'])]['cfunction'][1]) ? $this->column[$gname][$this->fieldToId($gname, $req['field'])]['cfunction'][1] : '';
         }
         $this->out[$gname] = 'error';
         switch ($req['command']) {
             case 'update':
                 if (isset($req['field']) && isset($req['value']) && isset($req['id'])) {
                     $this->out[$gname] = $this->update($table, $req['id'], $req['field'], $req['value'], $fn, $gname);
                 } else {
                     $this->out[$gname] = 'failed';
                 }
                 break;
             case 'delete':
                 if (isset($req['ids']) && $req['ids'] != '') {
                     $this->out[$gname] = $this->delete($table, $req['ids'], $gname);
                 } else {
                     $this->out[$gname] = 'failed';
                 }
                 break;
             case 'insert':
                 $this->out[$gname] = $this->insert($gname, $table, $req);
                 break;
                 /*
                                                 case 'csv':
                                                         $all = $req['all']=='1'?TRUE:FALSE;
                                                         if(!$all)
                                                         {
                 
                                                                 //$csvTmp = fromJSON($req['data']);
                                                                 $csvFileName = '../csv/'.$req['fname'];
                 						
                                                                 $csvF = fopen($csvFileName,"w+");
                                                                 foreach($csvTmp as $line)
                                                                         fputcsv($csvF,$line);
                                                                 fclose($csvF);
                                                                 $this->out[$gname] = '../csv/'.$req['fname'];
                 						
                                                         }
                                                         else
                                                                 $this->out[$gname] = '';
                 					break;
                 */
         }
         $this->pageCount[$gname] = $this->getPageCount($table, $this->pageRows[$gname], $req);
         $this->out[$gname] = $this->out[$gname] . ',' . $this->pageCount[$gname] . ',' . $gname;
     } else {
         if (isset($req['pageNumber']) && isset($req['table'])) {
             $gname = trim($req['table']);
             $isCsv = isset($req['command']) && $req['command'] == 'csv';
             $whereClause = $this->whereClause[$gname];
             $werc = isset($req['werc']) ? $req['werc'] : '';
             $werc = str_replace('|', '%', $werc);
             $werc = str_replace('where', ' ', $werc);
             $werc = str_replace("\\'", "'", $werc);
             if ($werc != '' || $whereClause != '') {
                 $werc = ' where ' . $werc . ' ' . ($werc != '' && $whereClause != '' ? 'and ' . $whereClause : $whereClause);
             }
             $ttable = $this->tables[$gname];
             $this->pageCount[$gname] = $this->getPageCount($ttable, $this->pageRows[$gname], $req);
             $this->done = TRUE;
             $gname = trim($req['table']);
             $table = $this->tables[$gname];
             if (isset($req['pageNumber'])) {
                 $this->pageNumber[$gname] = (int) $req['pageNumber'];
             }
             $sort = '';
             $sort_array = array();
             foreach ($req as $rk => $rv) {
                 $sort_tmp = explode("-", $rk);
                 if (count($sort_tmp) == 2 && $sort_tmp[0] == 'sort') {
                     $sort_array[] = $rv;
                 }
             }
             if (count($sort_array) > 0) {
                 $sort = (strpos($werc, 'order') === FALSE ? " order by `" : ',`') . implode('` desc,`', $sort_array) . "` desc";
             }
             if ($this->echoQuery) {
                 echo 'select * from `' . $table . '` ' . $werc . ' ' . $sort . ' limit ' . (int) (($this->pageNumber[$gname] - 1) * $this->pageRows[$gname]) . ',' . (int) $this->pageRows[$gname] . "<br/>\n";
             }
             $mysql->ex_sql('select * from `' . $table . '` ' . $werc . ' ' . $sort . ' limit ' . (int) (($this->pageNumber[$gname] - 1) * $this->pageRows[$gname]) . ',' . (int) $this->pageRows[$gname], $q);
             $i = 0;
             $row = array();
             $csvHead = "";
             $loadHead = TRUE;
             $csvBigBody = "";
             foreach ($q as $rr) {
                 $cell = array();
                 $csvBody = '';
                 foreach ($this->column[$gname] as $k => $field) {
                     $fn = isset($field['cfunction'][0]) ? $field['cfunction'][0] : '';
                     //$tValue = ($fn!='')?$fn(htmlentities($rr[$field['fieldname']])):htmlentities($rr[$field['fieldname']]);
                     $tValue = $fn != '' ? $fn($rr[$field['fieldname']]) : $rr[$field['fieldname']];
                     if ($loadHead) {
                         $csvHead .= ($csvHead != '' ? "," : '') . $field['fieldname'];
                     }
                     //$tmpVal = str_replace("\n",'',((!isset($this->column[$gname][$k]['clist']))?$tValue:$this->column[$gname][$k]['clist'][$rr[$field['fieldname']]]));
                     //$tmpVal = str_replace(',','',$tmpVal);
                     //$tmpVal = mb_convert_encoding($tmpVal,'UTF-8');//,"Windows-1256");
                     //$tmpVal = mb_convert_encoding($tmpVal, 'UTF-16LE', 'UTF-8');
                     //$tmpVal = mb_convert_encoding($tmpVal,"Windows-1252");
                     //if($k > 0)
                     //	$csvBody .= (($csvBody!='')?",":'').strip_tags($tmpVal);
                     $cell[] = array('value' => $tValue, 'css' => $this->loadCellCss($rr['id'], $field['fieldname']), 'typ' => $field['typ']);
                     if (in_array($field['fieldname'], $sort_array)) {
                         $this->column[$gname][$k]['sort'] = 'done';
                     }
                 }
                 $loadHead = FALSE;
                 $csvBigBody .= "{$csvBody}\n";
                 $row[] = array('cell' => $cell, 'css' => $this->loadRowCss($rr['id'], $gname));
             }
             $rowCount = xgrid::getTableRowCount($ttable, $req);
             foreach ($this->column[$gname] as $indx => $column) {
                 if (isset($column['clist'])) {
                     $this->column[$gname][$indx]['clist'] = $this->arrayToObject($column['clist']);
                 }
                 if (isset($column['searchDetails'])) {
                     $this->column[$gname][$indx]['searchDetails'] = $this->arrayToObject($column['searchDetails']);
                 }
             }
             $grid = array('column' => $this->column[$gname], 'rows' => $row, 'cssClass' => $this->css[$gname], 'tableProperty' => $this->tableProperty[$gname], 'css' => '', 'buttonTitles' => $this->buttonTitles[$gname], 'eRequest' => $this->eRequest[$gname], 'pageCount' => $this->pageCount[$gname], 'alert' => $this->alert, 'scrollDown' => $this->scrollDown[$gname], 'xls' => $this->xls[$gname], 'pageRows' => $this->pageRows[$gname], 'rowCount' => $rowCount);
             if (!$isCsv) {
                 $affn = $this->afterCreateFunction[$gname];
                 if ($affn != '') {
                     $fgrid = $affn($grid);
                 } else {
                     $fgrid = $grid;
                 }
                 $this->out[$gname] = toJSON($fgrid);
             } else {
                 $csvOut = "";
                 header('Content-Type: text/csv; charset=utf8');
                 header('Content-disposition: attachment;filename=' . $req['table'] . '.csv');
                 header('Content-type: application/x-msdownload');
                 $this->out[$gname] = $csvBigBody;
                 //.mb_convert_encoding($csvHead."\n".$csvBigBody, 'UTF-16LE', 'UTF-8');
             }
         }
     }
     $gtmp[$gname]['pageCount'] = $this->pageCount[$gname];
     $this->arg = toJSON($gtmp);
     return isset($this->out[$gname]) ? $this->out[$gname] : '';
 }