Revision: 38450
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 3, 2011 11:40 by GeekOfWeb
Initial Code
<?php class Randomainer { private static $checkedUrls = array(); // this array contains URL who is already checked. private static $savePath = '/'; // The path where the log must be saved. public $maxDomain = 10; // for security and performance issues is this a temporary solution.. public $characters = array( // possible charachters 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-' ); private static $tlds = array( // all Top-Level Domain Extensions 'aero', 'asia', 'biz', 'cat', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'jobs', 'mil', 'mobi', 'museum', 'name', 'net', 'org', 'pro', 'tel', 'travel', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd' ,'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by' ,'bz', 'ca', 'cc' ,'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mn', 'mn', 'mo', 'mp', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'nom', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ra', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw', 'arpa', 'local' ); public function generateDomainName($extensions) { // generate a domain name with all chars and selected domain extensions $counter = 0; foreach($this->characters as $first) { foreach($this->characters as $second) { foreach($this->characters as $third) { foreach($extensions as $ext) { if(($first != '-' && $third != '-') && in_array($ext, self::$tlds)) // the first and last character may not be - and the domain extension must be allowed. { $domain = $first.$second.$third.'.'.$ext; // build domain name $this->checkDomainName($domain); $counter = $counter +1; if($counter >= $this->maxDomain)// If all is good, we exit from here. { return 0; } } }//end extension foreach }//end third foreach }// end second foreach }// end first foreach } public function checkDomainName($url) { // redefine $domain = $url; $xml = new DOMDocument('1.0', 'utf-8'); $xml->load('http://whoiswebservice.org/whois.asmx/IsDomainAvailable?website='.$domain); $result = $xml->getElementsByTagName('string')->item(0)->nodeValue; self::$checkedUrls[$domain] = $result; } public function getAvailableDomains() { $return = array(); foreach(self::$checkedUrls as $domain => $status) { if($status == '1') { $return[] = $domain; }//end if status checking } // end foreach checkedurls return $return; // return the array who contains the avalaible domains } public function getTlds() { return self::$tlds; } /** * This method will save the results in a log file * @return void */ public function save() { // method to save the results. $checkedDomains = self::$checkedUrls; $file = fopen('log-'.time().'.txt', 'a+'); // log dosyasini acalim, eger yok ise (Ki yok.. yenisini olusturalim.) foreach($checkedDomains as $domain => $status) { if($status == '1') { $text = "Domain: ".$domain." is available.\n"; }else{ $text = "Domain: ".$domain." is not available.\n"; } fwrite($file, $text); }// end foreach checked domains fclose($file); // actigimiz log dosyasini kapatalim.. } }
Initial URL
Initial Description
Initial Title
Kod Savas improved
Initial Tags
Initial Language
PHP