コード例 #1
2
ファイル: phpfn12.php プロジェクト: NaurozAhmad/Senho
 function CurrentUserInfo($fldname)
 {
     global $UserTableConn;
     $info = NULL;
     if (defined("EW_USER_TABLE") && !$this->IsSysAdmin()) {
         $user = $this->CurrentUserName();
         if (strval($user) != "") {
             return ew_ExecuteScalar("SELECT " . ew_QuotedName($fldname, EW_USER_TABLE_DBID) . " FROM " . EW_USER_TABLE . " WHERE " . str_replace("%u", ew_AdjustSql($user, EW_USER_TABLE_DBID), EW_USER_NAME_FILTER), $UserTableConn);
         }
     }
     return $info;
 }
コード例 #2
1
ファイル: api.php プロジェクト: pezzabros/Loki
    $output_array = unserialize($output_string);
    //var_dump($output_array);
    $completed = $rs->fields('idProcessStatus') == "7" ? 'Y' : 'N';
    if (isset($request->params['level']) && $request->params['level'] != "" && isset($output_array[$request->params['level']])) {
        $output_array = $output_array[$request->params['level']];
        $completed = 'Y';
    }
    //subprocess
    $rs_subprocess = $conn->execute("SELECT * FROM `process` LEFT JOIN processstatus ON (process.idProcessStatus = processstatus.idProcessStatus) WHERE ((( (idProcessNum <> '' ) AND (idProcessNumMaster = '" . $rs->fields('idProcessNum') . "' ) ))) ORDER BY idProcessNum DESC LIMIT 0, 20");
    $subprocess_array = array();
    while (!$rs_subprocess->EOF) {
        // esiste un processo da eseguire
        $subprocess_array[] = array("completed" => $completed, "status" => $rs_subprocess->fields('name'), "processId" => $rs_subprocess->fields('idProcessNum'), 'name' => ew_ExecuteScalar("SELECT `name` FROM `setprocess` WHERE `idSetProcess` = '" . $rs_subprocess->fields('idSetProcess') . "'"), 'start' => $rs_subprocess->fields('start'), 'end' => $rs_subprocess->fields('end'), 'OSProcessId' => $rs_subprocess->fields('OSProcessId'));
        $rs_subprocess->MoveNext();
    }
    $result = array("completed" => $completed, "status" => $rs->fields('name'), "processId" => $idProcessNum, "output" => $output_array, 'name' => ew_ExecuteScalar("SELECT `name` FROM `setprocess` WHERE `idSetProcess` = '" . $rs->fields('idSetProcess') . "'"), 'start' => $rs->fields('start'), 'end' => $rs->fields('end'), 'subprocess' => $subprocess_array);
    return $request->result($result);
});
Tivoka::createServer($methods);
//---------------  UTILS FUNCTION  -----------------------
function getresults()
{
    global $conn;
    $idProcessNum = varRequest('processId', '');
    if ($idProcessNum == "") {
        sendOutput(getError('No processId sent'));
    }
    $rs = $conn->execute("SELECT * from process LEFT JOIN processstatus ON (process.idProcessStatus = processstatus.idProcessStatus) WHERE idProcessNum = '{$idProcessNum}'");
    if ($rs->RecordCount() == 0) {
        sendOutput(getError("No process found with processId {$idProcessNum}"));
    }
コード例 #3
1
ファイル: function.php プロジェクト: pezzabros/Loki
function executeProcess($input)
{
    global $conn;
    //inizializzo il parametro che viene utilizzato per passare ai processi il processId del processo precedente
    $previousIdProcessNum = "";
    $idSetProcess = $input['idSetProcess'];
    $command = "";
    $x_processId = isset($input['x_processId']) ? $input['x_processId'] : rand_int(12);
    $sSqlWrk = "INSERT INTO `process` ( `processId`, `idSetProcess`, `idProcessStatus`, `start`, `end`, `OSProcessId`, `command`) VALUES" . "('" . $x_processId . "', " . $idSetProcess . ", 1, NULL, NULL, NULL, '');";
    $rswrk = $conn->Execute($sSqlWrk);
    $idProcessNum = $conn->Insert_ID();
    $sSqlWrk = "SELECT * from setprocess WHERE idSetProcess = " . $idSetProcess . "";
    $rswrk_setprocess = $conn->Execute($sSqlWrk);
    $priority = $rswrk_setprocess->fields('priority');
    $separator = "";
    $equal_symbol = "";
    $log_suff = "";
    if ($rswrk_setprocess->fields('idProcessType') == "1") {
        //caso di un eseguibile
        $command .= $rswrk_setprocess->fields('exe') . " ";
        $send_pid = $rswrk_setprocess->fields('sendPid') == "1" ? " --pid=" . $x_processId : "";
        $separator = " ";
        $equal_symbol = "";
        $log_suff = " >> " . EW_EXE_FILE_LOG;
    } elseif ($rswrk_setprocess->fields('idProcessType') == "2") {
        //caso di un web service http
        $command .= $rswrk_setprocess->fields('service') . "?";
        $send_pid = $rswrk_setprocess->fields('sendPid') == "1" ? "&pid=" . $x_processId : "";
        $separator = "&";
        $equal_symbol = "=";
        $log_suff = "";
    }
    //caricamento parametri processo
    $sSqlWrk = "SELECT * from processparams WHERE idSetProcess = " . $idSetProcess . " AND type = 0 ORDER BY `order`,idProcessParams";
    $rswrk = $conn->Execute($sSqlWrk);
    $arwrk = $rswrk ? $rswrk->GetRows() : array();
    $rowswrk = count($arwrk);
    for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
        //controllo se il valore è passato con l'id del paramentro
        if ($arwrk[$rowcntwrk]['mode'] == "0" && @$input["params_" . $arwrk[$rowcntwrk]['idProcessParams']] == "1") {
            $command .= $arwrk[$rowcntwrk]['code'] . $separator;
        }
        //controllo se il valore è passato con il code del paramentro
        if ($arwrk[$rowcntwrk]['mode'] == "0" && @$input[$arwrk[$rowcntwrk]['code']] == "1") {
            $command .= $arwrk[$rowcntwrk]['code'] . $separator;
        }
        if ($arwrk[$rowcntwrk]['mode'] == "1" && @$input["params_" . $arwrk[$rowcntwrk]['idProcessParams']] != "") {
            $command .= $arwrk[$rowcntwrk]['code'] . $equal_symbol . @$input["params_" . $arwrk[$rowcntwrk]['idProcessParams']] . $separator;
        }
        if ($arwrk[$rowcntwrk]['mode'] == "1" && @$input[$arwrk[$rowcntwrk]['code']] != "") {
            $command .= $arwrk[$rowcntwrk]['code'] . $equal_symbol . @$input["params_" . $arwrk[$rowcntwrk]['idProcessParams']] . $separator;
        }
        $sSqlWrk = "INSERT INTO `processparamsvalue` ( `idProcessParams`, idProcessNum,value) VALUES" . "(" . $arwrk[$rowcntwrk]['idProcessParams'] . ", " . $idProcessNum . ", '" . $_GET["params_" . $arwrk[$rowcntwrk]['idProcessParams']] . $input[$arwrk[$rowcntwrk]['code']] . "');";
        $conn->Execute($sSqlWrk);
    }
    $command .= $send_pid;
    $command .= $log_suff;
    if ($rswrk_setprocess->fields('isMultiProcess') == "0") {
        $sSqlWrk = "UPDATE `process` set `command` = '" . addslashes($command) . "', priority='" . $priority . "' WHERE idProcessNum= {$idProcessNum}";
        $conn->Execute($sSqlWrk);
    }
    //caso di un multiprocesso
    if ($rswrk_setprocess->fields('isMultiProcess') == "1") {
        //imposto il valore di idProcessNumMaster uguale al numero stesso
        $sSqlWrk = "UPDATE `process`  SET idProcessNumMaster = {$idProcessNum}, priority='" . $priority . "' WHERE idProcessNum = {$idProcessNum} ";
        $rswrk = $conn->Execute($sSqlWrk);
        $idProcessNumMaster = $idProcessNum;
        $sSqlWrk = "SELECT *,multiprocesssteps.priority as priority_queue from multiprocesssteps JOIN setprocess ON(setprocess.idSetProcess = multiprocesssteps.idSetProcessDetail) WHERE idSetProcessMaster = " . $idSetProcess . " AND `order` > 0  ORDER BY `order`";
        $rswrk_subproc = $conn->Execute($sSqlWrk);
        $arwrk_subproc = $rswrk_subproc ? $rswrk_subproc->GetRows() : array();
        $rowswrk_subproc = count($arwrk_subproc);
        for ($i = 0; $i < $rowswrk_subproc; $i++) {
            //inserimento step
            $sotto_processo = $arwrk_subproc[$i];
            //if($arwrk_subproc[$i]['mode']=="0" && @$_GET["params_".$arwrk[$rowcntwrk]['idProcessParams']]=="1")
            $idSetProcess = $sotto_processo['idSetProcessDetail'];
            $command = "";
            $x_processId = rand_int(12);
            $status = $i == 0 ? "1" : "8";
            $priority = $sotto_processo['priority_queue'];
            $sSqlWrk = "INSERT INTO `process` ( `processId`, `idSetProcess`, `idProcessStatus`, `start`, `end`, `OSProcessId`, `command`,idProcessNumMaster,idMultiProcessSteps,priority) VALUES" . "('" . $x_processId . "', " . $idSetProcess . ", {$status}, NULL, NULL, NULL, ''," . $idProcessNumMaster . "," . $sotto_processo['idMultiProcessSteps'] . ",'{$priority}');";
            $rswrk = $conn->Execute($sSqlWrk);
            $idProcessNum = $conn->Insert_ID();
            $sSqlWrk = "SELECT * from setprocess WHERE idSetProcess = " . $idSetProcess . "";
            $rswrk = $conn->Execute($sSqlWrk);
            $separator = "";
            $equal_symbol = "";
            $log_suff = "";
            if ($rswrk->fields('idProcessType') == "1") {
                //caso di un eseguibile
                $command .= $rswrk->fields('exe') . " ";
                $send_pid = $rswrk->fields('sendPid') == "1" ? " --pid=" . $x_processId : "";
                $separator = " ";
                $equal_symbol = "";
                $log_suff = " >> " . EW_EXE_FILE_LOG;
            } elseif ($rswrk->fields('idProcessType') == "2") {
                //caso di un web service http
                $command .= $rswrk->fields('service') . "?";
                $send_pid = $rswrk->fields('sendPid') == "1" ? "&pid=" . $x_processId : "";
                //aggiungo se esiste il previous processId
                $send_pid .= $previousIdProcessNum != "" ? "&previousIdProcessNum=" . $previousIdProcessNum : "";
                $separator = "&";
                $equal_symbol = "=";
                $log_suff = "";
            }
            //salvo il valore per utilizzarlo al processo successivo
            $previousIdProcessNum = $idProcessNum;
            $sSqlWrk = "SELECT * from processparams JOIN paramsconnection ON (processparams.idProcessParams = paramsconnection.idProcessParamsOutput) WHERE idMultiProcessSteps = " . $sotto_processo['idMultiProcessSteps'];
            $rswrk = $conn->Execute($sSqlWrk);
            $arwrk = $rswrk ? $rswrk->GetRows() : array();
            $rowswrk = count($arwrk);
            for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
                $input_value = "";
                if ($arwrk[$rowcntwrk]['mode'] == "0" && $arwrk[$rowcntwrk]['fixedInput'] == "1") {
                    $command .= $arwrk[$rowcntwrk]['code'] . $separator;
                    $input_value = "1";
                } else {
                    //caso del valore da recuperare da un'altro ingresso
                    $sSqlWrk = "SELECT value from `processparamsvalue` JOIN  process ON(processparamsvalue.idProcessNum = process.idProcessNum) WHERE idProcessNumMaster = {$idProcessNumMaster} AND idProcessParams = " . $arwrk[$rowcntwrk]['idProcessParamsInput'];
                    $rswrk_1 = $conn->Execute($sSqlWrk);
                    if ($rswrk_1) {
                        if (!$rswrk_1->EOF) {
                            $command .= $arwrk[$rowcntwrk]['code'] . $equal_symbol . $rswrk_1->fields('value') . $arwrk[$rowcntwrk]['fixedInput'] . $separator;
                            $input_value = $rswrk_1->fields('value');
                        }
                        $rswrk_1->Close();
                    } elseif ($arwrk[$rowcntwrk]['mode'] == "1" && $arwrk[$rowcntwrk]['fixedInput'] != "") {
                        // caso del solo valore fisso
                        $command .= $arwrk[$rowcntwrk]['code'] . $equal_symbol . $arwrk[$rowcntwrk]['fixedInput'] . $separator;
                        $input_value = $arwrk[$rowcntwrk]['fixedInput'];
                    }
                }
                if ($input_value != "") {
                    echo "<br> assegnato valore " . $arwrk[$rowcntwrk]['idProcessParams'] . ", " . $idProcessNum . ", '" . $input_value;
                    $sSqlWrk = "INSERT INTO `processparamsvalue` ( `idProcessParams`, idProcessNum,value) VALUES" . "(" . $arwrk[$rowcntwrk]['idProcessParams'] . ", " . $idProcessNum . ", '" . $input_value . "');";
                    $rswrk = $conn->Execute($sSqlWrk);
                } else {
                    echo "<br> non è stato assegnato il valore al parametro " . $arwrk[$rowcntwrk]['code'];
                }
            }
            $command .= $send_pid;
            //se è un processo di analisi videodrono con idSetProcess ==
            if ($idSetProcess == "5") {
                echo "analisi parametri opzionali videodrome_set " . @$input['videodrome_set'];
                if (@$input['videodrome_set'] != "") {
                    $query_ts = "SELECT id_training_concepts FROM videodromeparams WHERE name = '" . $_GET['videodrome_set'] . "' ";
                    $training_sets = ew_ExecuteScalar($query_ts);
                    //add_log("starting analysis:get training sets","query:".$query_ts." id trovati: ".$training_sets);
                    echo "starting analysis:get training sets", "query:" . $query_ts . " id trovati: " . $training_sets;
                    $query_op = "SELECT GROUP_CONCAT( '--bow-concept=', name\n\t\t\t\t\t\t\t\t\t\t\tSEPARATOR ' ' )\n\t\t\t\t\t\t\t\t\t\t\tFROM training_concepts AS tc\n\t\t\t\t\t\t\t\t\t\t\tWHERE id_training_concepts_status =5\n\t\t\t\t\t\t\t\t\t\t\tAND tc.id_training_sets\n\t\t\t\t\t\t\t\t\t\t\tIN ({$training_sets})";
                    $optional_params = ew_ExecuteScalar($query_op);
                    //add_log("starting analysis:get optional params","query:".$query_op." stringa trovata: ".$optional_params);
                    echo "starting analysis:get optional params", "query:" . $query_op . " stringa trovata: " . $optional_params;
                    //aggiungo i parametri opzionali alla linea di comando
                    if ($optional_params != "") {
                        $command .= " " . $optional_params;
                    }
                }
            }
            $command .= $log_suff;
            echo "<br> inserito command " . $command;
            $sSqlWrk = "UPDATE `process` set `command` = '" . $command . "' WHERE idProcessNum= {$idProcessNum}";
            echo "<br> con query " . $sSqlWrk;
            echo "<br><br><br>";
            $rswrk = $conn->Execute($sSqlWrk);
        }
        //inserimento step - fine
    }
    //caso di un multiprocesso - fine
}
コード例 #4
1
ファイル: server.php プロジェクト: pezzabros/Loki
function insert_annotation($annotation)
{
    global $conn, $ontology_default;
    //value in milliseconds
    $sourceId = $annotation['sourceId'];
    $timePoint = @is_numeric($annotation['timePoint']) ? $annotation['timePoint'] : $annotation['start'];
    $id = @is_numeric($annotation['id']) ? $annotation['id'] : null;
    $duration = $annotation['duration'];
    add_log('setAnnotations:adding', "input annotation: " . json_encode($annotation));
    $keyword = $annotation['keyword'];
    $owner = $annotation['owner'];
    $id_users = ew_ExecuteScalar("select id_users from " . EW_CONN_DB_MEDIA . ".users WHERE  (id_users = '{$owner}' OR username = '******')");
    if ($id_users == "" || $id_users == "?") {
        $id_users = "1";
    }
    //duration default value
    if ($duration == "" || $duration == null) {
        $duration = 5000;
    }
    $endPoint = $timePoint + $duration;
    //$id_media = Ew_ExecuteScalar("SELECT id_media FROM ".EW_CONN_DB_MEDIA.".media WHERE uri = '$sourceId'");
    $id_media = $sourceId;
    //correzione bug selezione video sul titolo
    $cond = " media.id_media ='" . $id_media . "' ";
    //check if media already exists in the database
    $exists = ew_ExecuteScalar("select count(*) from " . EW_CONN_DB_MEDIA . ".media WHERE  {$cond} ");
    if (!$exists) {
        return false;
    }
    //check if concept already exists in concept table
    $id_concepts = ew_ExecuteScalar("SELECT id_concepts FROM " . EW_CONN_DB_MEDIA . ".concepts WHERE concepts.name='" . $keyword . "'");
    if (!$id_concepts) {
        //inserting new concept
        $insQuery = "INSERT INTO " . EW_CONN_DB_MEDIA . ".concepts (name , id_ontologies) VALUES ( '" . $conceptname . "', '" . $ontology_default . "')";
        $conn->Execute($insQuery);
        $id_concepts = $conn->Insert_ID();
    }
    $thumbnail_insert = "null";
    /*$starttime_point = round($starttime*1000/$fps);
    		$endtime_point = round($endtime*1000/$fps);
    		
    		$start_time_second = (int)round($starttime/$fps);
    		
    		fwrite($fh, "selezionato secondo esportazione : ".$start_time_second."\n");
    
    		//estrazione della thumbnail
    		$starttime_point_extraction = sec2hms($start_time_second);
    		fwrite($fh, "selezionato timecode esportazione : ".$starttime_point_extraction."\n");
    
    		$thumbnail_insert = "'$filename-$starttime.png'";
    		
    		$command = "ffmpeg -i ".EW_VIDEO_PATH."$filename -r 1 -t $starttime_point_extraction -f image2 ".EW_IMAGE_PATH."$thumbnail_name";
    		
    		fwrite($fh, "\neseguito: ".$command."\n");
    
    		$result = exec($command);
    
    		*/
    $table = EW_CONN_DB_MEDIA . ".annotations";
    $insert_array = array('id_media' => $id_media, 'title' => addslashes($keyword), 'timepoint' => $timePoint, 'endpoint' => $endPoint, 'id_users' => $id_users, 'id_annotations_types' => '2', 'thumbnail' => $thumbnail_insert);
    if ($id_concepts != "") {
        $insert_array['id_concepts'] = $id_concepts;
    }
    if ($id != "") {
        $insert_array['id_annotations'] = $id;
    }
    if ($annotation['box_x'] && $annotation['box_x'] != "?") {
        $insert_array['box_x'] = $annotation['box_x'];
    }
    if ($annotation['box_y'] && $annotation['box_y'] != "?") {
        $insert_array['box_y'] = $annotation['box_y'];
    }
    if ($annotation['box_width'] && $annotation['box_width'] != "?") {
        $insert_array['box_width'] = $annotation['box_width'];
    }
    if ($annotation['box_height'] && $annotation['box_height'] != "?") {
        $insert_array['box_height'] = $annotation['box_height'];
    }
    if ($annotation['page'] && $annotation['page'] != "?") {
        $insert_array['page'] = $annotation['page'];
    }
    $task = "";
    if (isset($annotation['id']) && $annotation['id'] != "" && $annotation['id'] != "?") {
        //caso di update
        $task = "update";
        $id_annotations = $annotation['id'];
        $querys = mysql_update_query($table, $insert_array, 'id_annotations');
        $conn->Execute($querys);
    } else {
        //caso di inserimento
        $task = "insert";
        $querys = mysql_insert_query($table, $insert_array);
        $conn->Execute($querys);
        $id_annotations = $conn->Insert_ID();
    }
    //aggiorno il campo last_modified del media per consentirne l'indicizzazione
    $now = date('Y-m-d H:i:s');
    $querys = "UPDATE " . EW_CONN_DB_MEDIA . ".media SET last_modified = '" . $now . "' WHERE id_media = '" . $id_media . "'";
    $conn->Execute($querys);
    $annotation_insert = array('agent' => "AnnotationToolV1.2", 'comment' => "", 'confidence' => 1, 'created' => 0, 'duration' => $duration, 'id' => $id_annotations, 'keyword' => "" . $keyword, 'modified' => 0, 'owner' => $owner, 'sourceId' => $sourceId, 'start' => $timePoint, 'type' => '', 'context_pre' => "", 'context_post' => "");
    if ($annotation['box_x'] && $annotation['box_x'] != "?") {
        $annotation_insert['box_x'] = $annotation['box_x'];
    }
    if ($annotation['box_y'] && $annotation['box_y'] != "?") {
        $annotation_insert['box_y'] = $annotation['box_y'];
    }
    if ($annotation['box_width'] && $annotation['box_width'] != "?") {
        $annotation_insert['box_width'] = $annotation['box_width'];
    }
    if ($annotation['box_height'] && $annotation['box_height'] != "?") {
        $annotation_insert['box_height'] = $annotation['box_height'];
    }
    if ($annotation['page'] && $annotation['page'] != "?") {
        $annotation_insert['page'] = $annotation['page'];
    }
    add_log('setAnnotations:annotation ' . $task, "ID: {$id_annotations} Query: {$querys} annotation: " . json_encode($annotation_insert));
    return $annotation_insert;
}
コード例 #5
0
ファイル: phpfn8.php プロジェクト: Razinsky/echaude-com
function CurrentUserInfo($fldname)
{
    global $Security;
    if (isset($Security)) {
        return $Security->CurrentUserInfo($fldname);
    } elseif (defined("EW_USER_TABLE") && !IsSysAdmin()) {
        $user = CurrentUserName();
        if (strval($user) != "") {
            return ew_ExecuteScalar("SELECT " . ew_QuotedName($fldname) . " FROM " . EW_USER_TABLE . " WHERE " . str_replace("%u", ew_AdjustSql($user), EW_USER_NAME_FILTER));
        }
    }
    return NULL;
}