sms_login_handler(); } function sms_login_handler() { global $kanshiconfig; global $kanshitrack; if (empty($kanshitrack)) $kanshitrack=array(); if (isset($kanshitrack['started_but_no_finished']) && (int)$kanshitrack['started_but_no_finished']==1) { if (!isset($kanshitrack['mail_counter']) || $kanshitrack['mail_counter'] < $this->mail_counter) { if (!isset($kanshitrack['mail_counter'])) $kanshitrack['mail_counter']=0; $kanshitrack['mail_counter'] += 1; mail("smsurgent@googlegroups.com", "technopian urgent", "E-school: NO ACCESS"); } $kanshitrack['started_but_no_finished']=0; $export_arr=""; $this->write_file(TRACK_FILE, $export_arr); exit; } $kanshitrack['started_but_no_finished']=1; $export_arr=""; $this->write_file(TRACK_FILE, $export_arr); $result=$this->sms_login("http://e-school.jp/technopian_kanshi_s.php"); if (!empty($result)) { if (!isset($kanshitrack['mail_counter']) || $kanshitrack['mail_counter'] < $this->mail_counter) { if (!isset($kanshitrack['mail_counter'])) $kanshitrack['mail_counter']=0; $kanshitrack['mail_counter'] += 1; mail("smsurgent@googlegroups.com", "technopian urgent", $result); } } else { $kanshitrack['mail_counter']=0; } $kanshitrack['started_but_no_finished']=0; $export_arr=""; $this->write_file(TRACK_FILE, $export_arr); } function sms_login($checkfile="") { $params=array( 'mycookies'=>"" ); $schoolname=""; $post_vars = array( 'checkitem'=>$schoolname ); // build the request body $pairs=array(); foreach($post_vars as $name => $val) { $pairs[] = $name . '=' . rawurlencode($val); } $post_body = implode("&", $pairs); // HTTP options $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>"Content-type: application/x-www-form-urlencoded\r\n" . "Content-length: " . strlen($post_body) . "\r\n" . "Cookie: {$params['mycookies']}\r\n". "Referer: http://technopian.com\r\n" . "User-Agent: "."{$_SERVER['HTTP_USER_AGENT']}\r\n" , 'content'=>$post_body ) ); $context = stream_context_create($opts); $result=""; $fp = fopen($checkfile, 'r', false, $context); if (!$fp) { return "E-School: no access"; } ob_start(); fpassthru($fp); $html=ob_get_clean(); fclose($fp); $result=$html; if (strpos($result, "noproblem") !== false) { return ""; } else { return $result; } } function write_log($txt, $log_filename="kanshi_log.txt") { $fp = fopen( $log_filename, 'a' ); fwrite( $fp, 'Log at ' . date ("l dS of F Y h:i:s A") . "\n" ); fwrite( $fp, "\t{$txt}\n" ); fclose( $fp ); } //File will be rewritten if already exists function write_file($filename,$newdata) { $f=fopen($filename,"w"); fwrite($f,$newdata); fclose($f); } function append_file($filename,$newdata) { $f=fopen($filename,"a"); fwrite($f,$newdata); fclose($f); } function read_file($filename) { $f=fopen($filename,"r"); $data=fread($f,filesize($filename)); fclose($f); return $data; } } $kanshi=new technopian_kanshi(); $kanshi->process(); ?>