function ferias($registro, $cfuncao = "")
{
    global $subpes, $cadferia, $F016, $F017, $F018, $F019, $F020, $F021, $F023, $cfpess, $d08_carnes;
    $F019 = 0;
    // Numero de dias a pagar de ferias
    $F020 = 0;
    // Numero de dias de abono p/ pagar de ferias
    $F021 = 0;
    // Numero de dias p/ calc do FGTS no mes
    $F023 = 0;
    // Numero de dias de Adiantamento de ferias
    $anomes = db_substr($subpes, 1, 4) . db_substr($subpes, 6, 2);
    $condicaoaux = " and r30_regist = " . db_sqlformat($registro);
    $condicaoaux .= " order by r30_perai desc limit 1";
    if (db_selectmax("cadferia", "select * from cadferia " . bb_condicaosubpes("r30_") . $condicaoaux)) {
        // r30_proc1 --> Funcionário com férias já cadastradas para o proximo ano / mês
        // r30_proc2 --> Funcionário com saldo de férias para o proximo ano / mês
        if (db_substr($cadferia[0]["r30_proc1"], 1, 4) . db_substr($cadferia[0]["r30_proc1"], 6, 2) > $anomes || db_substr($cadferia[0]["r30_proc2"], 1, 4) . db_substr($cadferia[0]["r30_proc2"], 6, 2) > $anomes) {
            return;
        }
        // r30_proc1d --> Funcionário com diferença de férias para este ano / mês.
        if (db_empty($cadferia[0]["r30_proc1d"]) || $cadferia[0]["r30_proc1d"] == $subpes) {
            $F019 = $cadferia[0]["r30_dias1"];
            $F020 = $cadferia[0]["r30_abono"];
            $dias_ = ndias(db_substr(db_dtoc($cadferia[0]["r30_per1i"]), 4, 7));
            $maxdiac = db_str($dias_, 2, 0, "0");
            //echo "<BR> 1.11 - maxdiac --> $maxdiac";
            if (db_substr(db_dtos($cadferia[0]["r30_per1i"]), 1, 6) == $anomes && db_substr(db_dtos($cadferia[0]["r30_per1f"]), 1, 6) == $anomes) {
                $F021 = $F019;
            } else {
                if (db_substr(db_dtos($cadferia[0]["r30_per1i"]), 1, 6) < $anomes && db_substr(db_dtos($cadferia[0]["r30_per1f"]), 1, 6) == $anomes) {
                    $F019 = db_datedif($cadferia[0]["r30_per1f"], db_ctod("01/" . db_substr(db_dtoc($cadferia[0]["r30_per1f"]), 4, 7))) + 1;
                    //echo "<BR> 1.12 - F019 --> $F019";
                    $F020 = 0;
                    $F021 = $F019;
                    if (strtolower($cfpess[0]["r11_fersal"]) == 's' && !db_boolean($cfpess[0]["r11_recalc"])) {
                        $F019 = 0;
                        $F021 = 0;
                    }
                } else {
                    if (db_substr(db_dtos($cadferia[0]["r30_per1i"]), 1, 6) == $anomes && db_substr(db_dtos($cadferia[0]["r30_per1f"]), 1, 6) > $anomes) {
                        $s_data2 = db_substr(db_dtoc($cadferia[0]["r30_per1i"]), 7, 4) . '-' . db_substr(db_dtoc($cadferia[0]["r30_per1i"]), 4, 2) . '-' . $maxdiac;
                        $s_data1 = $cadferia[0]["r30_per1i"];
                        $F019 = pg_result(pg_query("select '{$s_data2}'::date - '{$s_data1}'::date as d"), 0, 'd') + 1;
                        //echo "<BR> 1.12 - F019 --> $F019";
                        $F020 = $cadferia[0]["r30_abono"];
                        $F021 = $F019;
                        if (strtolower($cfpess[0]["r11_fersal"]) == 's' && !db_boolean($cfpess[0]["r11_recalc"]) && db_month($cadferia[0]["r30_per1i"]) == 2 && db_year($cadferia[0]["r30_per1i"]) == db_substr($subpes, 1, 4) && $F019 == ndias($dias_)) {
                            $F019 = 30;
                            $F021 = 30;
                        }
                        $F023 = $cadferia[0]["r30_dias1"] - $F019;
                    } else {
                        if (db_substr(db_dtos($cadferia[0]["r30_per1i"]), 1, 6) > $anomes && db_substr(db_dtos($cadferia[0]["r30_per1f"]), 1, 6) > $anomes) {
                            $F023 = $F019;
                            $F019 = 0;
                            $F021 = 0;
                        } else {
                            if (db_substr(db_dtos($cadferia[0]["r30_per1i"]), 1, 6) < $anomes) {
                                $F019 = 0;
                                $F020 = 0;
                                $F021 = 0;
                            }
                        }
                    }
                }
            }
            if ($cadferia[0]["r30_tip1"] == "11") {
                $F020 = 0;
            }
            if (db_month($cadferia[0]["r30_per1i"]) == 2 && db_year($cadferia[0]["r30_per1i"]) == db_substr($subpes, 1, 4) && $cadferia[0]["r30_tip1"] == "01" && db_empty($cadferia[0]["r30_proc2d"]) && !db_boolean($cfpess[0]["r11_recalc"])) {
                if (db_substr($subpes, 6, 2) == 2) {
                    $F019 = $cadferia[0]["r30_dias1"];
                    $F020 = 0;
                    $F021 = 0;
                    $F023 = 0;
                } elseif (db_substr($subpes, 6, 2) == 3) {
                    $F019 = 0;
                    $F020 = 0;
                    $F021 = 0;
                    $F023 = 0;
                }
            }
            // r30_proc2d --> Funcionário com diferença de saldo de férias já cadastradas para este ano / mês
            if (db_empty($cadferia[0]["r30_proc2d"]) || $cadferia[0]["r30_proc2d"] == $subpes) {
                if ($cadferia[0]["r30_tip2"] == "10") {
                    // Saldo em Abono
                    $F019 = 0;
                    $F020 = $cadferia[0]["r30_abono"];
                    $F021 = 0;
                } else {
                    if ($cadferia[0]["r30_tip2"] == "09") {
                        // saldo de Ferias
                        if (db_substr(db_dtos($cadferia[0]["r30_per2i"]), 1, 6) == $anomes && db_substr(db_dtos($cadferia[0]["r30_per2f"]), 1, 6) >= $anomes) {
                            $F019 = db_datedif($cadferia[0]["r30_per2f"], $cadferia[0]["r30_per2i"]) + 1;
                            $F020 = 0;
                            $F021 = $F019;
                        } else {
                            if (db_substr(db_dtos($cadferia[0]["r30_per2i"]), 1, 6) < $anomes && db_substr(db_dtos($cadferia[0]["r30_per2f"]), 1, 6) == $anomes) {
                                $F019 = db_datedif($cadferia[0]["r30_per2f"], db_ctod("01/" . db_substr(db_dtoc($cadferia[0]["r30_per2f"]), 4, 2) . "/" . db_substr(db_dtoc($cadferia[0]["r30_per2f"]), 7, 4))) + 1;
                                //echo "<BR> 1.13 - F019 --> $F019";
                                $F020 = 0;
                                $F021 = $F019;
                            } else {
                                if (db_substr(db_dtos($cadferia[0]["r30_per2i"]), 1, 6) > $anomes) {
                                    $F019 = 0;
                                    $F020 = 0;
                                    $F021 = 0;
                                } else {
                                    $F019 = 0;
                                    $F020 = 0;
                                    $F021 = 0;
                                }
                            }
                        }
                    }
                }
                if (db_at($cfuncao, "fecha_folha") > 0 && db_empty($cadferia[0]["r30_proc2d"])) {
                    if ($F019 != 0 || $F020 != 0) {
                        $perai = $cadferia[0]["r30_perai"];
                        $condicaoaux = " and r30_regist = " . db_sqlformat($registro);
                        $condicaoaux .= " and r30_perai = " . db_sqlformat($perai);
                        $matriz1 = array();
                        $matriz2 = array();
                        $matriz1[1] = "r30_proc2d";
                        $matriz2[1] = $subpes;
                        db_update("cadferia", $matriz1, $matriz2, bb_condicaosubpes("r30_") . $condicaoaux);
                    }
                }
            }
        }
    }
    return true;
}
 $quoted_form_name = $DB->qstr($form_name, get_magic_quotes_gpc());
 $quoted_field_name = $DB->qstr($field_name, get_magic_quotes_gpc());
 $DB->StartTrans();
 $query = "SELECT COUNT(field_id)\n\t\t\t\t  FROM {$field_types_table}\n\t\t\t\t  WHERE NOT field_id={$field_id} AND field_form={$quoted_form_name} AND\n\t\t\t\t  \tfield_name={$quoted_field_name}";
 $duplicate = $DB->GetOne($query);
 if ($duplicate != 0) {
     $error_detected[] = _T("- Field name already used.");
 }
 $query = "SELECT field_name\n\t\t\t\t  FROM {$field_types_table}\n\t\t\t\t  WHERE field_id={$field_id}";
 $old_field_name = db_get_one($DB, $query, $error_detected);
 if ($old_field_name && $field_name != $old_field_name) {
     add_dynamic_translation($DB, $field_name, $error_detected);
     delete_dynamic_translation($DB, $old_field_name, $error_detected);
 }
 if (count($error_detected) == 0) {
     $query = "UPDATE {$field_types_table}\n\t\t\t\t\t  SET field_name={$quoted_field_name},\n\t\t\t\t\t      field_perm={$field_perm},\n\t\t\t\t\t      field_pos={$field_pos},\n\t\t\t\t\t      field_required=" . db_boolean($field_required) . ",\n\t\t\t\t\t      field_width={$field_width},\n\t\t\t\t\t      field_height={$field_height},\n\t\t\t\t\t      field_size={$field_size},\n\t\t\t\t\t      field_repeat={$field_repeat}\n\t\t\t\t\t  WHERE field_id={$field_id}";
     db_execute($DB, $query, $error_detected);
 }
 $DB->CompleteTrans();
 if ($properties['fixed_values']) {
     $values = array();
     $max_length = 0;
     foreach (explode("\n", $fixed_values) as $val) {
         $val = trim($val);
         $len = strlen($val);
         if ($len > 0) {
             $values[] = $val;
             if ($len > $max_length) {
                 $max_length = $len;
             }
         }
示例#3
0
function db_canAccessApi($addr)
{
    $res = db_query(db_connection(), 'SELECT synchrotron_canAccessApi(\'' . addslashes($addr) . '\');');
    list($res) = db_row($res, 0);
    return db_boolean($res);
}
示例#4
0
$contentId = $_GET['contentid'];
if (empty($contentId)) {
    printHeader(101, _("Content ID not provided"));
    printFooter();
    exit;
}
// we don't care about the item id, really, because we only ever have one
// //$itemId = $_GET['itemid'];
$db = db_connection();
unset($where);
sql_addToWhereClause($where, '', 'p.name', '=', $provider);
sql_addToWhereClause($where, 'and', 'c.id', '=', $contentId);
$items = db_query($db, "SELECT c.package, c.externalPackage FROM content c LEFT JOIN providers p ON (c.provider = p.id) WHERE {$where};");
if (db_numrows($items) < 1) {
    printHeader(101, _("Content ID '{$contentId}' not fond"));
    printFooter();
    exit;
}
printHeader(100);
list($package, $external) = db_row($items, 0);
if (db_boolean($external)) {
    $url = $package;
} else {
    $url = "{$common_baseURL}/{$provider}/files/{$package}";
}
print "    <content details=\"download\"><downloadlink>{$url}</downloadlink></content>\n";
printFooter();
// record the request as a download
unset($where);
sql_addToWhereClause($where, '', 'id', '=', $contentId);
db_query($db, "UPDATE content SET downloads = downloads + 1 WHERE {$where};");