Jump to content
php.lv forumi

aaxc

Moderatori
  • Posts

    638
  • Joined

  • Last visited

Everything posted by aaxc

  1. Varu piedāvāt šādu risinājumu, # class gatherData ($filename) class gatherData { # set used variables private $file_data; # Preload file public function __construct ($filename) { self::setFileData($filename); } # Load data into array public function getData() { $return = array(); foreach (self::getFileData() as $key => $value) { # Ignore 1st 3 lines of unnecessary code if ($key>2) { $large_array = explode(' ', $value); foreach ($large_array as $info) { if (trim($info)) { $return[$k-2][] .= $info; } } } } # return new array return $return; } # set '$file_data' variable private function setFileData ($file_data) { $file_data = file($file_data); $this -> file_data = $file_data; } # get '$file_data' variable private function getFileData() { return $this -> file_data; } } $aaxc = new gatherData('data.txt'); $new_array = $aaxc -> getData(); print_r($new_array); Takā preg_split nepārzinu labi, tad kāds cits var uztaisīt labāku variantu gan jau getData funkcijai.
  2. aaxc

    Norvik BankLink

    Manuālis aizkavējies, jo nezkāpēc nestrādā prod versija. Ar demo sistēmu vis šancē perfekti. Palaižot live kautkas nav tā. Gaidu jau gandrīz 2 nedēļas no bankas atbildi :)
  3. Nu cronus es lokaali sev neturu, tie man ir tikai uz prod uzlikti. Ja vajag manuaali izpildiit, tad nebuus arii slinkums vienu rindinju pamainiit.
  4. Es personiigi izpeetu linku. Man visaam developement videem ir "-dev" klaat. Ja pie ielaades tiek detekteets shis parametrs domeinam ( piemeeram www.dainisabols-dev.lv ), tad automaatiski ielaadeejas visi dev configi. Shaadaa veidaa nekad nav config jaamaina un visu varu SVN mest iekshaa, bez liekiem uztraukumiem. Protams, nevajag arii piemirst IP checkingu, lai kaads, zinot sho fiichu, nemeegjina tev lapu chakareet.
  5. aaxc

    Norvik BankLink

    PS: Ja kādam interesē, man ir doma uztaisīt manuāli pa nedēļas nogali. Tagad tik returns vēl jāapstrādā sākumā.
  6. aaxc

    Norvik BankLink

    Ok, problem solved, kādām būtu jāiemāca rakstīt manuāļus ... novācu lieki pieminēto hashingu un vis aizgāja: private function setSignature () { openssl_sign( $this -> getXMLData(), $signature, $this -> getPrivateKey() ); $this -> signature = $signature; }
  7. aaxc

    Norvik BankLink

    Notestēju, bez izmaiņām. Tikko nosūtīju bankai to visu garo penteri, redzēs ko šī atbildēs. Negribējās, bet citu variantu laikam nav.
  8. aaxc

    Norvik BankLink

    private function setSignature () { $pre_mac = sha1( $this -> getXMLData() ); openssl_sign( $pre_mac, $signature, $this -> getPrivateKey() ); $this -> signature = $signature; } Ka redzi sākumā notiek sha1 un pēc tam sign, tākā sanāk openssl_sign( sha1( data ) )
  9. aaxc

    Norvik BankLink

    XML nesatur special chars, tākā kodējums nav svarīgs + pirms signatures izdampojot XML viss uzrādas pareizi, tākā ar datiem vis itkā kārtībā.
  10. aaxc

    Norvik BankLink

    get ir parastas return funkcijas: private function getSignature () { return $this -> signature; }
  11. Sveiki, esmu mazliet iestrēdzis ar Norvik bankas banklinku. Itkā vis ir sataisīts, bet brēc ka signature ir nepareiza. Lūk bankas atsūtītais "manuālis": Digital signature MAC is XML data hash value, encrypted with sender’s private key. For hash value calculations SHA-1 algorithm is used, but for signature calculation RSA algorithm is used. Digital signature transforms to textual format using BASE64 encoding and is placed to MAC field. Mans kods: private function setPrivateKey ( $key_name ) { $fp = fopen( $this -> getKeyLocation() . '/' . $key_name, "r" ); $priv_key = fread( $fp, 8192 ); fclose( $fp ); $this -> private_key = openssl_get_privatekey( $priv_key ); } private function setSignature () { $pre_mac = sha1( $this -> getXMLData() ); openssl_sign( $pre_mac, $signature, $this -> getPrivateKey() ); $this -> signature = $signature; } private function setMac () { $this -> mac = base64_encode( $this -> getSignature() ); } Vai es kautko ne tā taisu? Itkā jau viss pēc manuāļa, bet signature šamajiem nepatīk. Ar citām bankām šādu problēmu nav, vis strādā normāli. Ja kāds ir taisījis Norvik bankai tieši, varētu padalīties ar pieredzi. Paldies jau iepriekš.
  12. aaxc

    SVN un PHP

    Problēma atrisināta, vajadzēja pievienot --non-interactive parametru un vis aiziet pa smuko: <?php function svn_exec ( $cmd, $log_file = false ) { $log = ""; if ( $log_file ) $log = ' > ' . $log_file; if ( $_REQUEST['debug'] ) echo '<p style="color: blue;">' . $cmd . ' ' . SVN_DIR . '</p>'; if ( $svn_result = shell_exec( $cmd . ' ' . SVN_DIR . $log ) ) { $result = "Success:\n\n" . $svn_result; //echo "<code>" . ( str_replace ( array('<','>', "\n"), array('<','>', '<br />'), $svn_result ) ) . "</code>"; } else { $result = 'Fail'; } return $result; } echo "<pre>"; echo svn_exec ( 'svn --non-interactive log --xml --quiet' ); echo "</pre>"; ?>
  13. aaxc

    SVN un PHP

    Papildinfo: Uzgāju vēl šādu rakstu: 1. Man ir uzliktas Full control pravas uz viesiem folderiem un failiem ( tai skaitā hidden ). 2. Man ir viens svn clients ( Tortoise ) klikšķināšanai un paralēli shell komandām otrs ( Slik ). Bet tā kā Tortoise neatbalsta shell komandas, tad no šī viedokļ tikai viens klients.
  14. aaxc

    SVN un PHP

    Notestēju, tieši tas pats. Vot nesaprotu, kāpēc es varu izpildīt principā visas komandas caur shell izņemot specifiskus svn pieprasiijumus...
  15. aaxc

    SVN un PHP

    Šajā gadījumā tas pilnibā nav svarīgi. Skaidrs zināms, ka tur vienkārši timeout iestāsies tik un tā. Shellā scripts izpildās instanti ( nu labi +- 50ms ), tāka problēma ir kur citur.
  16. aaxc

    SVN un PHP

    Sveiki, ir radusies maza problēma. Nesvarīgu iemeslu dēļ, ir nepieciešams izveidot weblapas veida svn update formu. Atradu šo linku ( http://www.php.net/m...en/book.svn.php ), bet uz Windows mašīnas īsti nestrādā ( ja jums ir izdevies, tad droši padalamies pieredzē ). Notestēju arī šo ( http://websvn.tigris.org/ ), bet tur nav iespējas svn update taisīt, kas manā gadījumā ir svarīgākais. Tātad sāku pats ar primitīviem shell_exec tasīt augšā: <?php define ( SVN_DIR, 'c:\\svn\\server_dir' ); function svn_exec ( $cmd ) { $output.= trim ( shell_exec( $cmd . ' ' . SVN_DIR ) ); return $output; } echo "<pre>"; echo svn_exec ( 'svn st' ); echo svn_exec ( 'svnversion' ); echo "</pre>"; ?> Tik tālu vis strādā smuki, bet kā ņemam ko "apjomīgāku", kā piemēram: echo svn_exec ( 'svn log' ); Tā lapa vienkārši nofrīzo, jeb mēģina bezgalīgi ilgi lādēties ( pat timeout neiestājas ). Jautājums elementārs, vai ir kāds ir ko tādu taisījis un ja jā, tad lūgums padalīties ar pieredzi un risinājumu. Jau iepriekš pateicos. Papildinfo: Uzgāju vēl šādu rakstu: 1. Man ir uzliktas Full control pravas uz viesiem folderiem un failiem ( tai skaitā hidden ). 2. Man ir viens svn clients ( Tortoise ) klikšķināšanai un paralēli shell komandām otrs ( Slik ). Bet tā kā Tortoise neatbalsta shell komandas, tad no šī viedokļ tikai viens klients.
  17. aaxc

    XML Parse

    Paldies par padomiem, izdomāju kā. Rīts tomēr gudrāks par vakaru :) Function myKursi() { GLOBAL $BankXML; $dati = simplexml_load_file($BankXML); $datums = $dati->Date; $vDatums = substr($datums,6,2).".".substr($datums,4,2).".".substr($datums,0,4); $kursi = $dati->Currencies; foreach ($kursi->Currency as $valuta) { $vID = $valuta->ID; $vUnits = $valuta->Units; $vRate = $valuta->Rate; } }
  18. aaxc

    XML Parse

    Sveiki, uzreiz saku, ka es jautaajums ir noobisks. Es te pus nakti njemos un taa arii nesaprotu, kaa pareizi ieguut latvijas bankas valuutu kursus masiivaa. Esmu ticis liidz pasham sakumama: Function myKursi() { // ieguustam kursus, ja shii ir pirmaa reize kad piesleedzamies bankai GLOBAL $BankXML; // links $BankXML = "http://www.bank.lv/vk/xml.xml"; $masiivs = simplexml_load_file($BankXML); foreach (simplexml_load_string($dati) as $virsraksts => $maziivs) { // Apstraadaajam ieguuto masiivu switch ($virsraksts) { // Paarveidojam datumu GERMAN formaataa case "Date": $datums = substr($maziivs[0],6,2).".".substr($maziivs[0],4,2).".".substr($maziivs[0],0,4); break; case "Currencies"; $kursi = $maziivs["Currency"]; foreach (simplexml_load_file($BankXML) as $virsraksts => $maziivs) { echo "<pre>"; print_r($maziivs); echo "</pre>"; } break; } } } Pie "echo" stadijas es dabuunu scriptu objekta formaataa un namaaku to dabuut standarta masiivaa, lai peec tam to apstraadaatu un izvaidotu "excel" tipa tabulaa. Any help?
  19. :/ Es te laikam tik biezhi neapgrozos lai saprastu vieteejaas shutkas, bet nu labi. Tiek mekleets cilveeks, kursh maak programmeet php jaunu maajaslapu izveidee. Protams, ka maaceet apstraadaat bildes un veidot elementaarus flash banerus ir bonus. Taapeec iemetu ss.lv linku uz vakanci. Papildus softi bija domaats ka ir vajadziigs cilveeks kursh speej kodus rakstiit piemeeram notpadaa nevis, teiksim, ar dreamweaver paliidziibu. Un jaa, patstaaviigs darbs no 9:00 liidz 17:00 kaa jebkuraa citaa ofisaa.
  20. Protams, jāmāk ar zīmuli izveidot baneri! SS.LV sludinājums
  21. Labas dienas, tātad mums ir nepieciešams vēlviens pieredzējis web programmētājs uzņēmumā kas izstrādā klientiem mājas lapas. Jāmak kodēt bez papildu programmu palīdzības, kā arī vēlams mācēt apstrādāt bildes un flsh zināšanas banneru izveidē. Pieteikumus droši sūtam uz [email protected]
  22. Ja ir interese, rekur jaunais LB valuutu kursa ieguushanas kods: <?php $doc = new DOMDocument(); $doc->load('http://www.bank.lv/lat/rss/kursi.php'); $arrFeeds = array(); foreach ($doc->getElementsByTagName('item') as $node) { $itemRSS = array ( 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue ); array_push($arrFeeds, $itemRSS); } $pieces = explode(" ", $arrFeeds[0]['desc']); $kursi = array(); $key = false; For ($k=1; $k<sizeof($pieces); $k++) { if (!$key) { $key = $pieces[$k]; } else { $kursi[$key] = $pieces[$k]; $key = false; } } echo "<pre>"; print_r($kursi); echo "</pre>"; ?>
×
×
  • Create New...