Example #1
0
/** Cắt ảnh theo cỡ tùy chọn */
function create_image($args)
{
    $hmdb = new MySQL(true, DB_NAME, DB_HOST, DB_USER, DB_PASSWORD, DB_CHARSET);
    hook_filter('before_create_image', $args);
    hook_action('create_image');
    if (!is_array($args)) {
        parse_str($args, $args);
    }
    $file_id = $args['file'];
    if (isset_image($file_id)) {
        $row = get_file_data($file_id);
        $file_info = json_decode($row->file_info);
        $file_dst_name_body = $file_info->file_dst_name_body;
        $file_dst_name_ext = $file_info->file_dst_name_ext;
        $source_file = get_file_location($file_id);
        $crop_name = $file_dst_name_body . '-' . $args['w'] . 'x' . $args['h'] . '.' . $file_dst_name_ext;
        if (file_exists(get_file_location($file_id, FALSE) . $crop_name)) {
            return get_file_url($file_id, FALSE) . $crop_name;
        } else {
            /** resize file */
            /* fix func exif_imagetype not avaiable */
            $type = getimagesize($source_file);
            $type = $type['mime'];
            switch ($type) {
                case 'image/png':
                    $type = IMAGETYPE_PNG;
                    break;
                case 'image/jpeg':
                    $type = IMAGETYPE_JPEG;
                    break;
                case 'image/gif':
                    $type = IMAGETYPE_GIF;
                    break;
                case 'image/bmp':
                    $type = IMAGETYPE_BMP;
                    break;
                case 'image/x-ms-bmp':
                    $type = IMAGETYPE_BMP;
                    break;
            }
            /* fix func exif_imagetype not avaiable */
            switch ($type) {
                case 1:
                    $source = imageCreateFromGif($source_file);
                    break;
                case 2:
                    $source = imageCreateFromJpeg($source_file);
                    break;
                case 3:
                    $source = imageCreateFromPng($source_file);
                    break;
                case 6:
                    $source = imageCreateFromBmp($source_file);
                    break;
            }
            /** resize file gốc về cùng 1 cỡ */
            $size = getimagesize($source_file);
            $source_width = $size[0];
            $source_height = $size[1];
            $fix_width = $args['w'];
            $fix_height = $args['h'];
            $thumb = imagecreatetruecolor($fix_width, $fix_height);
            /* Fix black background */
            $white = imagecolorallocate($thumb, 255, 255, 255);
            imagefill($thumb, 0, 0, $white);
            /* Fix black background */
            /* fix quality with imagecopyresampled , repalce imagecopyresized */
            imagecopyresampled($thumb, $source, 0, 0, 0, 0, $fix_width, $fix_height, $source_width, $source_height);
            $saveto = get_file_location($file_id, FALSE) . $crop_name;
            imagejpeg($thumb, $saveto, 100);
            return get_file_url($file_id, FALSE) . $crop_name;
        }
    } else {
        return FALSE;
    }
}
function process_emps($_POST)
{
    global $_FILES;
    extract($_POST);
    define("EMP_YEAR", getCSetting("EMP_TAXYEAR"));
    if (!isset($_FILES['file_upload']['name']) or strlen($_FILES['file_upload']['name']) < 1) {
        return get_file_location("<li class='err'>Please Select A File To Import.</li><br>");
    }
    if ($_FILES['file_upload']['size'] == 0) {
        return get_file_location("<li class='err'>Uploaded File Is Empty.</li><br>");
    }
    $file_data = file($_FILES['file_upload']['tmp_name']);
    if (!isset($mode_setting)) {
        $mode_setting = 1;
    }
    $get_union = "SELECT id FROM unions WHERE union_name = 'numsa' LIMIT 1";
    $run_union = db_exec($get_union) or errDie("Unable to get union information");
    if (pg_numrows($run_union) < 1) {
        #no union .. add
        $union_add = "INSERT INTO cubit.unions (union_name,date_added,req_perc) VALUES ('numsa','now','14.29')";
        $run_union2 = db_exec($union_add) or errDie("Unable to add union information.");
        $union_id = pglib_lastid("unions", "id");
    } else {
        $union_id = pg_fetch_result($run_union, 0, 0);
    }
    foreach ($file_data as $line) {
        $clean_line = trim($line);
        $clean_line = str_replace("\"", "", $clean_line);
        $clean_line = str_replace("'", "", $clean_line);
        $clean_line = str_replace(",", "", $clean_line);
        $clean_line = str_replace("&", "", $clean_line);
        $clean_line = str_replace("\$", "", $clean_line);
        $line_arr = explode("|", $clean_line);
        #do some reprocessing ...
        if ($line_arr[7] == "Male") {
            $line_arr[7] = "M";
        } else {
            $line_arr[7] = "F";
        }
        if ($mode_setting == "1") {
            $hiredate_arr = explode("/", "{$line_arr['28']}");
            if (strlen($hiredate_arr[2]) == "2") {
                if ($hiredate_arr[2] > 9) {
                    $hiredate_arr[2] = "19" . $hiredate_arr[2];
                } else {
                    $hiredate_arr[2] = "20" . $hiredate_arr[2];
                }
            }
            $hiredate = "{$hiredate_arr['2']}-{$hiredate_arr['0']}-{$hiredate_arr['1']}";
        } else {
            $hiredate_arr = explode("/", "{$line_arr['28']}");
            if (strlen($hiredate_arr[2]) == "2") {
                if ($hiredate_arr[2] > 9) {
                    $hiredate_arr[2] = "19" . $hiredate_arr[2];
                } else {
                    $hiredate_arr[2] = "20" . $hiredate_arr[2];
                }
            }
            $hiredate = "{$hiredate_arr['2']}-{$hiredate_arr['1']}-{$hiredate_arr['0']}";
        }
        if ($line_arr[14] != "Savings") {
            $line_arr[14] = "Current or Cheque";
        }
        $pay_type = "EFT";
        if ($line_arr[25] == "CASH") {
            $pay_type = "Cash";
        }
        if (strlen($line_arr[4]) < 5) {
            print "ID Number Not Set For This Data: {$clean_line}\n";
            continue;
        }
        $line_arr[24] = sprint($line_arr[24]);
        $basic_sal = sprint($line_arr[24] / 12);
        if (strlen($line_arr[29] > 1)) {
            print "!";
            continue;
        } else {
            $term_date = date("Y-m-d");
        }
        if ($line_arr[37] == "semi skill discretionary") {
            $line_arr[37] = "5";
        } elseif ($line_arr[37] == "unskilled") {
            $line_arr[37] = "6";
        } elseif ($line_arr[37] == "senior manager") {
            $line_arr[37] = "2";
        } elseif ($line_arr[37] == "proff") {
            $line_arr[37] = "3";
        } elseif ($line_arr[37] == "Top Management") {
            $line_arr[37] = "1";
        } else {
            $line_arr[37] = "1";
        }
        if ($line_arr[34] == "Sales and service") {
            $line_arr[34] = "6";
        } elseif ($line_arr[34] == "clerk") {
            $line_arr[34] = "5";
        } elseif ($line_arr[34] == "elementary") {
            $line_arr[34] = "9";
        } elseif ($line_arr[34] == "Technicians") {
            $line_arr[34] = "4";
        } elseif ($line_arr[34] == "officials/manager") {
            $line_arr[34] = "2";
        } elseif ($line_arr[34] == "proff") {
            $line_arr[34] = "3";
        } elseif ($line_arr[34] == "agri skiled") {
            $line_arr[34] = "8";
        } else {
            $line_arr[34] = "1";
        }
        if (strtolower($line_arr[8]) == "african") {
            $line_arr[8] = "african";
        } elseif (strtolower($line_arr[8]) == "asian") {
            $line_arr[8] = "indian";
        } elseif (strtolower($line_arr[8]) == "white") {
            $line_arr[8] = "white";
        } elseif (strtolower($line_arr[8]) == "coloured") {
            $line_arr[8] = "coloured";
        } else {
            $line_arr[8] = "african";
        }
        if (strlen($line_arr[42]) < 1) {
            $line_arr[42] = "0";
        }
        #process the vars
        $empnum = "{$line_arr['1']}-{$line_arr['0']}";
        $sname = "{$line_arr['2']}";
        $designation = "";
        $fnames = "{$line_arr['3']}";
        $sex = "{$line_arr['7']}";
        $marital = "{$line_arr['10']}";
        $resident = "Yes";
        $hiredate = "{$hiredate}";
        $telno = "";
        $email = "";
        $hpweek = "{$line_arr['26']}";
        $novert = "1.5";
        $hovert = "2";
        $payprd = "m";
        $payprd_day = "fri";
        $paytype = "{$pay_type}";
        $bankname = "{$line_arr['12']}";
        $bankcode = "{$line_arr['13']}";
        $bankacctype = "{$line_arr['14']}";
        $bankaccno = "{$line_arr['15']}";
        $vaclea = "{$line_arr['42']}";
        $siclea = "{$line_arr['42']}";
        $stdlea = "{$line_arr['42']}";
        $res1 = "{$line_arr['16']}";
        $res2 = "{$line_arr['17']}";
        $res3 = "{$line_arr['18']}";
        $res4 = "";
        $pos1 = "{$line_arr['19']}";
        $pos2 = "{$line_arr['20']}";
        $pcode = "{$line_arr['22']}";
        $contsname = "";
        $contfnames = "";
        $contres1 = "";
        $contres2 = "";
        $contres3 = "";
        $contres4 = "";
        $conttelno = "";
        $idnum = "{$line_arr['4']}";
        $passportnum = "{$line_arr['5']}";
        $changelogo = "no";
        $taxref = "{$line_arr['27']}";
        $basic_sal = "{$basic_sal}";
        $saltyp = "m";
        $basic_sal_annum = "{$line_arr['24']}";
        $sal_bonus = "0.00";
        $all_travel = "0.00";
        $comp_uif = "1.00";
        $comp_other = "0.00";
        $comp_provident = "0.00";
        $comp_medical = "0.00";
        $comp_ret = "0.00";
        $comp_pension = "0.00";
        $emp_uif = "1.00";
        $emp_other = "0.00";
        $emp_provident = "0.00";
        $emp_medical = "0.00";
        $emp_meddeps = "0";
        $emp_ret = "0.00";
        $emp_pension = "0.00";
        $comp_sdl = "1.00";
        $sal_bonus_month = "12";
        $fringe_car1 = "0.00";
        $fringe_car1_contrib = "0.00";
        $fringe_car1_fuel = "0";
        $fringe_car1_service = "0";
        $fringe_car2_contrib = "0.00";
        $fringe_car2_fuel = "0";
        $fringe_car2_service = "0";
        $fringe_car2 = "0.00";
        $department = "1";
        $occ_cat = "{$line_arr['34']}";
        $occ_level = "{$line_arr['37']}";
        $pos_filled = "2";
        $temporary = "no";
        $termination_date = "{$term_date}";
        $recruitment_from = "{$line_arr['37']}";
        $employment_reason = "{$line_arr['38']}";
        $union_name = "{$union_id}";
        $union_mem_num = "None";
        $union_pos = "None";
        $race = "{$line_arr['8']}";
        $disabled_stat = "No";
        $prevemp_remun = "0";
        $prevemp_tax = "0";
        $get_ccs = "SELECT * FROM costcenters";
        $run_ccs = db_exec($get_ccs) or errDie("Unable to get costcenter information.");
        if (pg_numrows($run_ccs) < 1) {
            $ct_arr = array();
        } else {
            $ct_arr = array();
            while ($ccarr = pg_fetch_array($run_ccs)) {
                $ct_arr[$ccarr['ccid']] = "";
            }
        }
        if (strlen($res1) < 1) {
            #res 1 not set ...
            $res1 = "Not Set";
        }
        writeEmp(array("key" => "write", "empnum" => "{$empnum}", "sname" => "{$sname}", "designation" => "{$designation}", "fnames" => "{$fnames}", "sex" => "{$sex}", "marital" => "{$marital}", "resident" => "{$resident}", "hiredate" => "{$hiredate}", "telno" => "{$telno}", "email" => "{$email}", "hpweek" => "{$hpweek}", "novert" => "{$novert}", "hovert" => "{$hovert}", "payprd" => "{$payprd}", "payprd_day" => "{$payprd_day}", "paytype" => "{$paytype}", "bankname" => "{$bankname}", "bankcode" => "{$bankcode}", "bankacctype" => "{$bankacctype}", "bankaccno" => "{$bankaccno}", "vaclea" => "{$vaclea}", "siclea" => "{$siclea}", "stdlea" => "{$stdlea}", "res1" => "{$res1}", "res2" => "{$res2}", "res3" => "{$res3}", "res4" => "{$res4}", "pos1" => "{$pos1}", "pos2" => "{$pos2}", "pcode" => "{$pcode}", "contsname" => "{$contsname}", "contfnames" => "{$contfnames}", "contres1" => "{$contres1}", "contres2" => "{$contres2}", "contres3" => "{$contres3}", "contres4" => "{$contres4}", "conttelno" => "{$conttelno}", "idnum" => "{$idnum}", "passportnum" => "{$passportnum}", "changelogo" => "{$changelogo}", "taxref" => "{$taxref}", "basic_sal" => "{$basic_sal}", "saltyp" => "{$saltyp}", "basic_sal_annum" => "{$basic_sal_annum}", "sal_bonus" => "{$sal_bonus}", "all_travel" => "{$all_travel}", "comp_uif" => "{$comp_uif}", "comp_other" => "{$comp_other}", "comp_provident" => "{$comp_provident}", "comp_medical" => "{$comp_medical}", "comp_ret" => "{$comp_ret}", "comp_pension" => "{$comp_pension}", "emp_uif" => "{$emp_uif}", "emp_other" => "{$emp_other}", "emp_provident" => "{$emp_provident}", "emp_medical" => "{$emp_medical}", "emp_meddeps" => "{$emp_meddeps}", "emp_ret" => "{$emp_ret}", "emp_pension" => "{$emp_pension}", "comp_sdl" => "{$comp_sdl}", "sal_bonus_month" => "{$sal_bonus_month}", "fringe_car1" => "{$fringe_car1}", "fringe_car1_contrib" => "{$fringe_car1_contrib}", "fringe_car1_fuel" => "{$fringe_car1_fuel}", "fringe_car1_service" => "{$fringe_car1_service}", "fringe_car2_contrib" => "{$fringe_car2_contrib}", "fringe_car2_fuel" => "{$fringe_car2_fuel}", "fringe_car2_service" => "{$fringe_car2_service}", "fringe_car2" => "{$fringe_car2}", "department" => "{$department}", "occ_cat" => "{$occ_cat}", "occ_level" => "{$occ_level}", "pos_filled" => "{$pos_filled}", "temporary" => "{$temporary}", "termination_date" => "{$termination_date}", "recruitment_from" => "{$recruitment_from}", "employment_reason" => "{$employment_reason}", "union_name" => "{$union_name}", "union_mem_num" => "{$union_mem_num}", "union_pos" => "{$union_pos}", "race" => "{$race}", "disabled_stat" => "{$disabled_stat}", "prevemp_remun" => "{$prevemp_remun}", "prevemp_tax" => "{$prevemp_tax}", "ct" => "{$ct_arr}"));
    }
    return "<br><li class='err'>Import Complete.</li>";
}