Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $rets_login_url = "http://maxebrdi.rets.fnismls.com/Rets/FNISRETS.aspx/MAXEBRDI/login?&rets-version=rets/1.5";
- $rets_username = "myuser";
- $rets_password = "mypass";
- // use http://retsmd.com to help determine the SystemName of the DateTime field which
- // designates when a record was last modified
- $rets_status_field = "L_StatusCatID";
- $rets_city_field = "L_City";
- // use http://retsmd.com to help determine the names of the classes you want to pull.
- // these might be something like RE_1, RES, RESI, 1, etc.
- //"RE_1"
- $property_classes = array("LR_5");
- // DateTime which is used to determine how far back to retrieve records.
- // using a really old date so we can get everything
- $listing_status = 1;
- $listing_city = "OAKLAND";
- //////////////////////////////
- require_once("phrets.php");
- // start rets connection
- $rets = new phRETS;
- echo "+ Connecting to {$rets_login_url} as {$rets_username}<br>\n";
- $connect = $rets->Connect($rets_login_url, $rets_username, $rets_password);
- if ($connect) {
- echo " + Connected<br>\n";
- }
- else {
- echo " + Not connected:<br>\n";
- print_r($rets->Error());
- exit;
- }
- foreach ($property_classes as $class) {
- echo "+ Property:{$class}<br>\n";
- $file_name = strtolower("property_{$class}.csv");
- $fh = fopen($file_name, "w+");
- $maxrows = true;
- $offset = 1;
- $limit = 1000;
- $fields_order = array();
- while ($maxrows) {
- $query = "({$rets_status_field}={$listing_status}),({$rets_city_field}={$listing_city})";
- // run RETS search
- echo " + Query: {$query} Limit: {$limit} Offset: {$offset}<br>\n";
- $search = $rets->SearchQuery("Property", $class, $query, array("Limit" => $limit, "Offset" => $offset, "Format" => "COMPACT", "Select" => "L_ListingID,L_Class,L_Type_,L_Status,L_AskingPrice,L_Keyword2,L_Keyword3,L_Keyword4,L_SquareFeet,L_Remarks,L_Address,L_City,L_State,LO1_OrganizationName,LA1_AgentLicenseID,LA1_UserFirstName,LA1_UserLastName,L_PictureCount", "Count" => 1));
- if ($rets->NumRows() > 0) {
- if ($offset == 1) {
- // print filename headers as first line
- $fields_order = $rets->SearchGetFields($search);
- fputcsv($fh, $fields_order);
- }
- // process results
- while ($record = $rets->FetchRow($search)) {
- $this_record = array();
- foreach ($fields_order as $fo) {
- $this_record[] = $record[$fo];
- }
- fputcsv($fh, $this_record);
- $photos = $rets->GetObject("Property", "Photo", $record['L_ListingID']);
- foreach ($photos as $photo)
- {
- $listing = $photo['Content-ID'];
- $number = $photo['Object-ID'];
- if ($photo['Success'] == true) {
- file_put_contents("photos/{$listing}-{$number}.jpg", $photo['Data']);
- }
- else {
- echo "Error ({$photo['Content-ID']}-{$photo['Object-ID']}";
- }
- }
- }
- $offset = ($offset + $rets->NumRows());
- }
- $maxrows = $rets->IsMaxrowsReached();
- echo " + Total found: {$rets->TotalRecordsFound()}<br>\n";
- $rets->FreeResult($search);
- }
- fclose($fh);
- echo " - done<br>\n";
- }
- echo "+ Disconnecting<br>\n";
- $rets->Disconnect();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement