Simple PHP script to send EIR SMS texts via Eir website
The code
PHP curl script to fetch your aib accounts (Compilments of Jon (kudos) Cremin)
updated to work with visa validation by me!
Linux users can display this infromation neetly on your desktop using such applications as http://conky.sourceforge.net
regnumber = $regnumber; $this->challenge_phone = $challenge_phone; $this->challenge_visa = $challenge_visa; $this->challenge = ""; $this->pac = str_split($pac); array_unshift($this->pac, null); $this->ch = curl_init(); curl_setopt( $this->ch , CURLOPT_RETURNTRANSFER , 1 ); curl_setopt( $this->ch , CURLOPT_SSL_VERIFYPEER , 0 ); curl_setopt( $this->ch , CURLOPT_COOKIEFILE , ".cookiefile" ); curl_setopt( $this->ch , CURLOPT_COOKIEJAR , ".cookiefile" ); curl_setopt( $this->ch , CURLOPT_FOLLOWLOCATION , 1 ); curl_setopt( $this->ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-gb) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17" ); } public function balances() { curl_setopt( $this->ch , CURLOPT_URL , "https://aibinternetbanking.aib.ie/inet/roi/login.htm" ); $output = curl_exec( $this->ch ); preg_match( '@id="transactionToken" value="(.*)"@' , $output , $token ); curl_setopt( $this->ch , CURLOPT_POST , 1 ); curl_setopt( $this->ch , CURLOPT_POSTFIELDS , "jsEnabled=TRUE&transactionToken=" . $token[1] . "®Number=".$this->regnumber."&_target1=true" ); curl_setopt( $this->ch , CURLOPT_URL , "https://aibinternetbanking.aib.ie/inet/roi/login.htm" ); $output = curl_exec( $this->ch ); preg_match( '@id="transactionToken" value="(.*)"@' , $output, $token); preg_match( '@@' , $output , $pac1 ); preg_match( '@@' , $output , $pac2 ); preg_match( '@@' , $output , $pac3 ); $this->challenge = preg_match( "/home phone number/" , $output ) > 0 ? $this->challenge_phone : $this->challenge_visa ; $postinfo = "_finish=true&transactionToken=" . $token[1]; $postinfo .= "®Number=" . $this->regnumber; $postinfo .= "&pacDetails.pacDigit1=" . $this->pac{$pac1[1]}; $postinfo .= "&pacDetails.pacDigit2=".$this->pac{$pac2[1]}; $postinfo .= "&pacDetails.pacDigit3=" . $this->pac{$pac3[1]}; $postinfo .= "&challengeDetails.challengeEntered=".$this->challenge; curl_setopt( $this->ch , CURLOPT_POST , 1 ); curl_setopt( $this->ch , CURLOPT_POSTFIELDS , $postinfo ); curl_setopt( $this->ch , CURLOPT_URL , "https://aibinternetbanking.aib.ie/inet/roi/login.htm" ); $output = curl_exec( $this->ch ); if( preg_match( "/continue to account overview/" , $output ) > 0 ) { preg_match( '@id="transactionToken" value="(.*)"@' , $output , $token ); curl_setopt( $this->ch , CURLOPT_POST , 1 ); curl_setopt( $this->ch , CURLOPT_POSTFIELDS , "iBankFormSubmission=false&transactionToken=" . $token[1] ); curl_setopt( $this->ch , CURLOPT_URL , "https://aibinternetbanking.aib.ie/inet/roi/accountoverview.htm" ); $output = curl_exec( $this->ch ); } $output = str_replace( "\n" , "" , $output ); $output = str_replace( "\r" , "" , $output ); preg_match_all( '@(.*?)(.*?)@s', $output , $names ); preg_match_all( '@
(.*?)
@s' , $output , $bal ); for( $i = 0; isset( $names[2][$i] ); $i++ ) { $accounts[] = array( "name" => $names[2][$i] , "balance" => str_replace( " " , "" , str_replace( " " , "" , $bal[1][$i] ) ) ); } return $accounts; } public function __destruct() { curl_close( $this->ch ); } } $regnumber = "88888888"; $challenge_phone = "4444"; $challenge_visa = "2222"; $pac = "77777"; $aib = new aib($regnumber, $challenge_phone, $challenge_visa, $pac); $accounts = $aib->balances(); foreach((array)$accounts as $account) { echo trim($account['name']) . "\${goto 150}" . trim($account['balance']) . "\n\n"; } ?>