/**
  * Automatic login user.
  *
  * @return boolean
  */
 public function autologin()
 {
     $trib_info = $this->authenticate();
     writeDebug('trib info:' . print_r($trib_info, true));
     if ($trib_info === false) {
         return false;
     }
     set_to_session(LOGIN_USER, $trib_info, $trib_info['group_id']);
     return $trib_info;
 }
 /**
  * 验证用户是否是该应用的使用者。
  *
  * @param string $userId
  * @param string $appInstanceId
  *
  * @return boolean 如果该用户是应用的使用者,返回true,否则返回false。
  */
 public static function isAppUser($userId, $appInstanceId)
 {
     $sip_sessionid = session_id();
     $result = RESTRequestHelper::postRequest('alisoft.validateAppUser', array('appInstanceId' => $appInstanceId, 'userId' => $userId), $sip_sessionid);
     writeDebug("validateAppUser of appInstance {$appInstanceId} result:" . $result);
     $ret_code = AlisoftValidateUserService::getReturnCode($result);
     if ($ret_code == 1) {
         return true;
     }
     return false;
 }
 /**
  * 阿里平台SIP_SIGN签名参数生成函数。
  *
  * @param array $params 用于URL传递的除sig_sign之外的所以参数的数组,
  * 	键名是参数名,值为参数值。
  * @return string
  */
 public static function generateSign($params)
 {
     $signStr = CERT_CODE;
     ksort($params);
     foreach ($params as $key => $value) {
         $signStr .= $key . $value;
     }
     writeDebug('sign string:' . $signStr);
     $sip_sign = strtoupper(md5($signStr));
     writeDebug("The generated sign is: " . $sip_sign);
     return $sip_sign;
 }
 /**
  * 向阿里REST服务器发送调用请求。
  *
  * @param string $apiname api名字
  * @param string $appInstanceId 用户订购的appid
  * @param string $userId 用户id
  * @param string $token 阿里平台产生的请求token
  * @param string $sip_sessionid 用户的session id
  * @param string $sip_format 请求结果格式,xml或者json,默认xml。
  * @param string $otherParams 其他附加的参数。
  * @return string  请求结果字符串。
  */
 public static function postRequest($apiname, $appParams = null, $sip_sessionid = null, $sip_format = null)
 {
     //准备本次请求参数
     $timestamp = getTimeStamp();
     /* REST request url. Use snoopy to submit a request
     		$url = $this->SIP_URL_PRE."?sip_timestamp=".date("Y-m-d H:i:s")
     		.'&sip_appkey='.$this->APP_ID.'&appId='.$this->APP_ID.'&sip_sign='.$sip_sign.
     		'&token='.$token.'&appInstanceId='.$appInstanceId
     		.'&userId='.$userId.'&sip_apiname=alisoft.validateUser'.'&sip_sessionid='.$sip_sessionid;
     		*/
     $formVars['sip_appkey'] = APP_ID;
     $formVars['sip_apiname'] = $apiname;
     $formVars['sip_timestamp'] = $timestamp;
     $formVars['appId'] = APP_ID;
     if (isset($sip_sessionid)) {
         $formVars['sip_sessionid'] = $sip_sessionid;
     }
     if (isset($sip_format)) {
         $formVars['sip_format'] = $sip_format;
     }
     if (isset($appParams) && is_array($appParams)) {
         $formVars = array_merge($formVars, $appParams);
         //writeDebug('form var before encode:' . print_r($formVars,true));
         //$encodeParams = self::encodeParams($appParams);
     }
     // 生成签名
     $sip_sign = SignGenerator::generateSign($formVars);
     $formVars['sip_sign'] = $sip_sign;
     //$formVars = array_merge($formVars,$encodeParams);
     writeDebug(sprintf("API: %s\nParams: %s", $apiname, print_r($formVars, true)));
     $proxy = new Snoopy();
     //$proxy->set_submit_multipart();
     //向AEP发出服务端请求
     $proxy->submit(SIP_REST_URI, $formVars);
     WriteDebug("http header:" . print_r($proxy->headers, true));
     self::handleError($proxy->headers);
     // 返回请求结果
     return $proxy->results;
 }
Ejemplo n.º 5
0
<?php

require 'loader.php';
use Ephp\Message;
use Ephp\SocketIOClient;
$client = new SocketIOClient('http://localhost:8080');
$client->connect();
$client->emit('subscribe', ['room' => 'test']);
$received = 0;
try {
    $client->listen(function ($event, Message $message = null) use(&$received) {
        if ($message !== null) {
            $args = json_decode(current($message->getArgs()));
            $message = sprintf('packet: %d, time: %f, heartbeats: %d', $args->packet, $args->time, $args->heartbeats);
            writeDebug($message);
        }
    });
} catch (\RuntimeException $e) {
    echo $e->getMessage();
}
 /**
  * 验证群用户
  *
  * @param string $userId
  * @param string $appInstanceId
  * @param string $toke
  * @return array 包含tribId和返回值的数组
  *<table>
  *  <tr><td>返回值</td><td>返回值描述   		</td><td>返回值说明</td></tr>
  *  <tr><td>3 	</td><td>用户是群主 			</td><td>群主也是该应用的订购者</td></tr>
  *	<tr><td>2	</td><td>用户是群的管理员		</td><td>管理员是针对该群的,但不是该应用的订购者</td></tr>
  *	<tr><td>1	</td><td>用户是群的有效成员	</td><td>有效的群成员,不包括游客,不是该应用的订购者</td></tr>
  *	<tr><td>0	</td><td>用户是群游客		</td><td>临时的群成员,不是该应用的订购者</td></tr>
  *	<tr><td>-1	</td><td>用户不是群内有效成员	</td><td>不是有效的群成员,包括游客</td></tr>
  *	<tr><td>-2	</td><td>订购无效			</td><td>订购已过期、或者未订购</td></tr>
  *	<tr><td>-3	</td><td>token无效		</td><td>token被篡改、或者已过期</td></tr>
  *	<tr><td>-9	</td><td>系统异常</td><td></td></tr>
  * </table>
  */
 public static function validateUser($userId, $appInstanceId, $token)
 {
     $sip_sessionid = session_id();
     // 发送REST请求
     $result = RESTRequestHelper::postRequest('alisoft.validateTribeUser', array('appInstanceId' => $appInstanceId, 'userId' => $userId, 'token' => $token), $sip_sessionid);
     //$result = json_decode($result,true);
     //writeDebug('request result: ' . print_r($result,true));
     //return $result;
     writeDebug('request result: ' . $result);
     $xml = new SimpleXMLElement($result);
     $trib_id = $xml->tribeId;
     $result_code = $xml->result;
     return array('tribeId' => (string) $trib_id, 'result' => (string) $result_code);
 }
Ejemplo n.º 7
0
function NewOrderPatient($drug, $dose, $Regimen_Dose_Unit, $Description, $match, $NumberofDoses)
{
    if ($Description === 'old') {
    } else {
        $orderday = date('m_d_Y');
        //Set Variables
        $host = $_SESSION['vista'];
        $username = $_SESSION['sshusr'];
        $AC = $_SESSION['AC'];
        $VC = $_SESSION['VC'];
        $password = '';
        $csession = 'csession cache355';
        $cdUnix = 'D ^%CD';
        $instance = 'CPM355';
        $cprsLogin = '******';
        $tmatch = trim($match);
        $patientSearch = $tmatch;
        $patientLocation = 'GEN MED';
        $actingProvider = 'v107';
        $doseorder = "" . $dose . " " . $Regimen_Dose_Unit . "";
        $schedule = 'QDAY';
        $routine = 'ROUTINE';
        $tdrug = trim($drug);
        $ssh = new Net_SSH2($host);
        if (!$ssh->login($username, $password)) {
            exit('Login Failed');
        }
        $ssh->write("\r");
        sleep(3);
        sleep(3);
        $ssh->write("\r");
        $ssh->write("{$AC}\r");
        $ssh->write("{$VC}\r");
        sleep(3);
        $ssh->write("\r");
        $ssh->write("OE\r");
        $ssh->write("FD\r");
        $ssh->write("{$patientSearch}\r");
        sleep(1);
        $ssh->write("AD\r");
        sleep(1);
        $ssh->write("\r");
        sleep(1);
        $ssh->write("{$patientLocation}\r");
        if ($Description === 'InPatient') {
            $ssh->write("15\r");
        } elseif ($Description === 'OutPatient') {
            $ssh->write("20\r");
        }
        $ssh->write("Provider, One\r");
        $ssh->write("1\r");
        sleep(1);
        sleep(1);
        if ($tdrug === '5-FU  FLUOROURACIL INJ,SOLN') {
            $ssh->write("5");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
        } elseif ($tdrug === '5-FLUOROURACIL  FLUOROURACIL INJ,SOLN') {
            $ssh->write("5");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
        } elseif ($tdrug === 'RANITIDINE TAB') {
            $ssh->write("RANITIDINE TAB ");
            /* Block below vvvvvvvvvvvvvvvvvv changed to match Sandbox - 30 May 2014 */
            $ssh->write("\r");
            sleep(1);
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
        } elseif ($tdrug === 'DEXAMETHASONE TAB') {
            $ssh->write("DEXAMETHASONE TAB");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("n");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$doseorder} MG");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
        } elseif ($tdrug === 'PROCHLORPERAZINE TAB') {
            $ssh->write("PROCHLORPERAZINE TAB");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("n");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$doseorder} MG");
            /* Block above ^^^^^^^^^^^^^^^^^^^^^^^ changed to match Sandbox - 30 May 2014 */
            $ssh->write("\r");
            sleep(1);
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
        } else {
            $ssh->write("{$tdrug}");
            $ssh->write("\r");
            sleep(1);
        }
        $ssh->write("n");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("{$doseorder}");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("1");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("{$schedule}");
        $ssh->write("\r");
        sleep(1);
        if ($Description === 'InPatient') {
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("N");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$routine}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("\r");
            sleep(5);
            $ssh->write("P");
            $ssh->write("\r");
        } else {
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$NumberofDoses}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$NumberofDoses}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("0");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("C");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$routine}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("\r");
            sleep(1);
            $ssh->write("P");
            $ssh->write("\r");
        }
        //Set SSH Timeout
        $ssh->setTimeout(1);
        //Read Results
        $SSHresults = $ssh->read();
        writeDebug($SSHresults, $tdrug, $patientSearch, $orderday);
    }
}
Ejemplo n.º 8
0
function NewOrderPatient($drug, $dose, $Regimen_Dose_Unit, $Description, $match, $NumberofDoses)
{
    if ($Description === 'old') {
    } else {
        $orderday = date('m_d_Y');
        //Set Variables
        $host = '54.83.44.110';
        $username = '******';
        $password = '';
        $login = '******';
        $loginpass = '******';
        $csession = 'csession cache355';
        $cdUnix = 'D ^%CD';
        $instance = 'CPM355';
        $cprsLogin = '******';
        $tmatch = trim($match);
        $patientSearch = $tmatch;
        $patientLocation = 'GEN MED';
        $actingProvider = 'v107';
        $doseorder = "" . $dose . " " . $Regimen_Dose_Unit . "";
        $schedule = 'QDAY';
        $routine = 'ROUTINE';
        $drug = '5-FU  FLUOROURACIL INJ,SOLN';
        $tdrug = trim($drug);
        $AC = '1radiologist';
        $VC = 'radiologist1';
        $Description = 'OutPatient';
        $ssh = new Net_SSH2($host);
        if (!$ssh->login($username, $password)) {
            exit('Login Failed');
        }
        $ssh->write("{$login}\r");
        $ssh->write("{$loginpass}\r");
        sleep(3);
        $ssh->write("{$AC}\r");
        $ssh->write("{$VC}\r");
        sleep(3);
        $ssh->write("\r");
        $ssh->write("AD\r");
        $ssh->write("FD\r");
        $ssh->write("{$patientSearch}\r");
        sleep(1);
        $ssh->write("{$patientLocation}\r");
        if ($Description === 'InPatient') {
            $ssh->write("15\r");
        } elseif ($Description === 'OutPatient') {
            $ssh->write("20\r");
        }
        $ssh->write("Provider, One\r");
        $ssh->write("1\r");
        sleep(1);
        sleep(1);
        $ssh->write("{$tdrug}");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("n");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("{$doseorder}");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("1");
        $ssh->write("\r");
        sleep(1);
        $ssh->write("{$schedule}");
        $ssh->write("\r");
        sleep(1);
        if ($Description === 'InPatient') {
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("N");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$routine}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("\r");
            sleep(1);
            $ssh->write("P");
            $ssh->write("\r");
        } else {
            $ssh->write("1");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$NumberofDoses}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$NumberofDoses}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("0");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("C");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("{$routine}");
            $ssh->write("\r");
            sleep(1);
            $ssh->write("\r");
            sleep(1);
            $ssh->write("P");
            $ssh->write("\r");
        }
        //Set SSH Timeout
        $ssh->setTimeout(1);
        //Read Results
        $SSHresults = $ssh->read();
        echo $SSHresults;
        writeDebug($SSHresults, $tdrug, $patientSearch, $orderday);
    }
}
  function getTokens($dataText) {
    global $dataDelimiter;
    global $allBeginDelimiters;

    $beginDelimiterCount = count($allBeginDelimiters);
 
    $dataTextLength = strlen($dataText);
    $noDelimiter = false;
    $prevStartPos = 0;
    $tokenCount = 0;

    for ($idx = 0; $idx < $dataTextLength; $idx++) {
      /* Obtain the index of the beginning of the first delimiter in $dataText */      
      if ((!IsSet($firstBeginDelimiterPos) || ($idx > $firstBeginDelimiterPos)) && ($noDelimiter == false)) {
        for ($curDelimiterIdx = 0; $curDelimiterIdx < $beginDelimiterCount; $curDelimiterIdx++) {
          $curDelimiterPos = strpos($dataText, $allBeginDelimiters[$curDelimiterIdx]);
	  if ($curDelimiterPos === false) {
	    continue;
          }
          $noDelimiter = false;
          if (IsSet($prevDelimiterPos)) {
            if ($prevDelimiterPos > $curDelimiterPos) {
              $prevDelimiterPos = $curDelimiterPos;
              $firstBeginDelimiter = $allBeginDelimiters[$curDelimiterIdx];
              $firstBeginDelimiterPos = $prevDelimiterPos;
              $firstBeginDelimiterIdx = $curDelimiterIdx;
            }
          } else {
            $prevDelimiterPos = $curDelimiterPos;
          }
        }
      }
      if ($idx == $firstBeginDelimiterPos) {
        $endDelimiter = $allEndDelimiters[$firstBeginDelimiterIdx];
        $endDelimiterPos = strpos($dataText, $endDelimiter, $idx);
        if ($endDelimiterPos === false) {
          die('Packed string is corrupt: No end delimiter found for a begin delimiter');
        }
	$tokenTextLength = $endDelimiterPos + strlen($endDelimiter) - $beginDelimiterPos;
        $tokenText = substr($dataText, $firstBeginDelimiterPos, $tokenTextLength);
	$tokens[$tokenCount] = $tokenText;
        $tokenCount++;
	$idx = $endDelimiterPos + strlen($endDelimiter);
        $prevStartPos = $idx;
      }
      if ($dataText[$idx] == $dataDelimiter) {
        $currentEndPos = $idx - 1;
        $prevStartPos = $idx + 1;
	$tokenTextLength = $prevStartPos - $currentEndPos;
        $tokenText = substr($dataText, $prevStartPos, $tokenTextLength);
        $tokens[$tokenCount] = $tokenText;
	$tokenCount++;
      }
    }
    if (IsSet($tokens)) {
      $tokenCount = count($tokens);
      for ($idx = 0; $idx < $tokenCount; $idx++) {
        writeDebug("Token $idx:", $tokens[$tokenCount]);   
      }
    }
  }
Ejemplo n.º 10
0
	</head>
	<body>

		<?php 
if (isLoggedIn() && $bRegLogin) {
    ?>
<a href="/?logout=true" class="logout">Logout <?php 
    echo $_SESSION['user'];
    ?>
</a><?php 
}
?>

		<?php 
writeAlerts();
?>

		<?php 
writeContent();
?>

		<?php 
writeDebug();
?>

		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
		<script>window.jQuery || document.write('<script src="/js/jquery-1.6.2.min.js"><\/script>')</script>
		<script src="/js/common.js"></script>

	</body>
</html>