コード例 #1
0
 function montru_unu($row) {
     global $dosiero, $lingvo, $montru, $tabelo, $chefa, $tradukoj;
     
     $cheno = $row["cheno"];
     if ($lingvo != $chefa) {
         $query2 = "SELECT traduko, stato, tradukinto FROM $tabelo WHERE iso2='$lingvo' "
             . "AND dosiero='$dosiero' AND cheno='$cheno'";
         $result2 = mysql_query($query2);
         $row2 = mysql_fetch_array($result2);
         if ($row2) {
             if ($montru == "chion" or
                 (($montru == "retradukendajn" or $montru == "ambau") and
                  $row2["stato"] == 1)) {
                 skatolo_por_cheno("redaktu",
                                   ( $row2["stato"] == 1 ?
                                     $tradukoj["stato-retradukenda"] :
                                     $tradukoj["stato-ghisdata"]),
                                   $row2["stato"] == 1 ? "retradukenda" : "gxisdata",
                                   $dosiero, 0, $cheno, $lingvo,
                                   $row["traduko"], $row2["traduko"],
                                   $row["komento"], $row2["tradukinto"], $row['stato']);
             }
         } else {
             if ($montru == "chion" or $montru == "tradukendajn" or $montru == "ambau") {
                 skatolo_por_cheno("aldonu",
                                   $tradukoj["stato-tradukenda"],
                                   "tradukenda",
                                   $dosiero, 0, $cheno, $lingvo,
                                   $row["traduko"], "",
                                   $row["komento"], "", $row['stato']);
             }
         }
     } else {
         // cxefa lingvo
         skatolo_por_cheno("redaktu",
                           $tradukoj["stato-ghisdata"],
                           "gxisdata",
                           $dosiero, 0, $cheno, $lingvo,
                           "", $row["traduko"],
                           $row["komento"], $row["tradukinto"],
                           $row['stato'], "preredaktilo");
     }
 }
コード例 #2
0
/**
 * sercxas en dosiero pri cxenoj tradukendaj.
 * @param string $dosiero dosiernomo (sur disko)
 * @param string $interna dosiernomo (en datumbazo)
 */
function traktu_dosieron($abs_dosiero, $interna) {
    //    echo "(traktas " . $dosiero . " ...) <br />\n";
    global $trovitaj, $tabelo, $chefa, $tradukoj;
        
    if (isset($_GET["parta"]) && (filemtime($dosiero) < time() - (60*60*24*7))) {
        return;
    }
        
    $tuto = join("", file($abs_dosiero));
    preg_match_all("/CH([_a-z]*)\s*\(\s*[\"']([^\"']*)[\"']\s*(,|\))/",
                   $tuto, $chenoj);
    $chenoj = $chenoj[2];
    for ($i = 0; $i < count($chenoj); $i++) {
        // $cxeno, $dosiero
        extract(analizu_chenon($chenoj[$i], $interna));
        
        if (!in_array($dosiero . "#" . $cheno, $trovitaj)) {
            $trovitaj[] = $dosiero . "#" . $cheno;
            if (eltrovu_gxenerale("COUNT(*)",
                                  "tradukoj",
                                  array("dosiero = '$dosiero'",
                                        "cheno = '$cheno'",
                                        "iso2 = '$chefa'"))
                < 1)
                {
                    //             $query = "SELECT traduko FROM $tabelo WHERE "
                    //                 . "dosiero = '$dosiero' AND cheno = '$cheno' "
                    //                 . "AND iso2 = '$chefa'";
                    //             $result = mysql_query($query);
                    //             $row = mysql_fetch_array($result);
                    //             if (!$row) {
                    // mankas en la datumbazo
                    skatolo_por_cheno("aldonu",
                                      $tradukoj["stato-aldonenda"],
                                      "aldonenda",
                                      $dosiero, 1, $cheno, $chefa);
                }
        }
    }
}