コード例 #1
1
function verifyTiezi_send($uid, $tid, $pid, $water = 'StusGame Tieba Cloud Sign Plugin "verifyTiezi"', $device = 4)
{
    if (empty($uid) || empty($tid) || empty($pid)) {
        return array('status' => '1', 'msg' => '');
    }
    $ck = misc::GetCookie($pid);
    $xs = verifyTiezi_gettie($tid, $ck);
    $x = array('BDUSS' => $ck, '_client_id' => 'wappc_136' . rand_int(10) . '_' . rand_int(3), '_client_type' => $device, '_client_version' => '5.0.0', '_phone_imei' => md5(rand_int(16)), 'anonymous' => '0', 'content' => $water, 'fid' => $xs['fid'], 'kw' => $xs['word'], 'net_type' => '3', 'tbs' => $xs['tbs'], 'tid' => $tid, 'title' => '');
    $y = '';
    foreach ($x as $key => $value) {
        $y .= $key . '=' . $value;
    }
    $x['sign'] = strtoupper(md5($y . 'tiebaclient!!!'));
    $c = new wcurl('http://c.tieba.baidu.com/c/c/post/add', array('Content-Type: application/x-www-form-urlencoded'));
    /* //Note:普通的
    	$x = verifyTiezi_gettie($tid,$ck);
    	$c = new wcurl('http://tieba.baidu.com'.$x['__formurl']);
    	unset($x['__formurl']);
    	$x['co'] = $water;
    	*/
    $c->addcookie('BDUSS=' . $ck);
    $return = json_decode($c->post($x), true);
    $c->close();
    if (!empty($return['error_code']) && $return['error_code'] != '1') {
        return array('status' => $return['error_code'], 'msg' => $return['error_msg']);
    } else {
        return array('status' => '1', 'msg' => '');
    }
}
コード例 #2
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
}
コード例 #3
0
/**
* 变量名称
* @param $verifyKey 发送邮件中的key,用于验证用户身份是否与$verifyCode匹配
* @param $query SQL查询语句
* @param $url 验证链接地址
* @param $verifyCode 验证码
* @param $pluginName 插件名
*/
function sendMail($userMail, $uid)
{
    global $m;
    global $today;
    $pluginName = 'white_vmail';
    // 获取8位数的随机验证码并加密
    $verifyCode = rand_int(8);
    $verifyKey = sha1(md5($verifyCode));
    $url = SYSTEM_URL . '?plugin=' . $pluginName . '&key=' . $verifyKey;
    $title = '邮箱验证 -- ' . SYSTEM_NAME;
    $text = '亲爱的用户:<br><br>您好!<br><br>这是来自学园百度贴吧云签到平台的验证邮件,用来验证您的用户邮箱。<br><br>请登录学园百度贴吧云签到平台后点击该链接,以便验证你的邮箱。<br><br>提示:必须登录后点击!必须登录后点击!必须登录后点击!  否则无法验证!谢谢合作!<br><br>系统将会自动清除注册一定时间后没验证邮箱的用户!<hr/>验证链接:' . $url . '<br>(如果您无法点击此链接,请将它复制到浏览器地址栏后访问)<br><br><br>' . SYSTEM_NAME . '<br><br>(本邮件为系统自动发送,请勿回复)';
    $mailResult = misc::mail($userMail, $title, $text);
    if ($mailResult != TRUE) {
        msg("向" . $userMail . "发送邮件失败。");
    }
    $m->query("UPDATE " . DB_PREFIX . "users SET white_vmail_send = 1, white_vmail_code = " . $verifyCode . " WHERE id = " . $uid);
    Redirect(SYSTEM_URL . "index.php?mod=admin:setplug&plug=white_vmail");
}
コード例 #4
0
ファイル: question.php プロジェクト: b-kaxa/perld
 public static function get()
 {
     $db = SimpleDBI::conn();
     $q = $db->row('select * from question WHERE id = :id', ['id' => rand_int()]);
     return $q;
 }