Exemplo n.º 1
0
function code_peek()
{
    if ($_SESSION['logged_in'] != "yes") {
        echo "Not logged in.";
        exit;
    }
    if ($_REQUEST['r_format'] == "COMPACT") {
        $current_format = "COMPACT";
        $format_link = "<a href='' id='format-switch' data-resource='{$_REQUEST['r_resource']}' data-class='{$_REQUEST['r_class']}' data-format='COMPACT-DECODED'>Switch to COMPACT-DECODED</a>";
    } else {
        $current_format = "COMPACT-DECODED";
        $format_link = "<a href='' id='format-switch' data-resource='{$_REQUEST['r_resource']}' data-class='{$_REQUEST['r_class']}' data-format='COMPACT'>Switch to COMPACT</a>";
    }
    // set things up
    $rets = new phRETS();
    $rets->AddHeader("Accept", "*/*");
    $rets->AddHeader("RETS-Version", "RETS/{$_SESSION['rets_version']}");
    $rets->AddHeader("User-Agent", $_SESSION['user_agent']);
    $rets->SetParam("compression_enabled", true);
    if ($_SESSION['force_basic'] == "true") {
        $rets->SetParam("force_basic_authentication", true);
    }
    // make first connection
    $connect = $rets->Connect($_SESSION['login_url'], $_SESSION['username'], $_SESSION['password'], $_SESSION['ua_pwd']);
    if (!$connect) {
        $error_details = $rets->Error();
        $error_text = strip_tags($error_details['text']);
        $error_type = strtoupper($error_details['type']);
        show_error_page("<center><span style='color:red;font-weight:bold;'>{$error_type} ({$error_details['code']}) {$error_text}</span></center>");
    }
    $records = array();
    $search = null;
    if (detect_capable_server($_SESSION['login_url']) === 1) {
        $search = $rets->SearchQuery($_REQUEST['r_resource'], $_REQUEST['r_class'], '*', array('Format' => $current_format, 'Limit' => 5, 'RestrictedIndicator' => 'RETSMDRESTR'));
        while ($rec = $rets->FetchRow($search)) {
            $records[] = $rec;
        }
    } elseif (detect_capable_server($_SESSION['login_url']) === 2) {
        $search = $rets->SearchQuery($_REQUEST['r_resource'], $_REQUEST['r_class'], "", array('Format' => $current_format, 'QueryType' => 'DMQL2', 'Limit' => 5, 'RestrictedIndicator' => 'RETSMDRESTR'));
        while ($rec = $rets->FetchRow($search)) {
            $records[] = $rec;
        }
    } else {
    }
    if (!$search) {
        $error_details = $rets->Error();
        $error_text = strip_tags($error_details['text']);
        $error_type = strtoupper($error_details['type']);
        show_error_page("<center><span style='color:red;font-weight:bold;'>{$error_type} ({$error_details['code']}) {$error_text}</span></center>");
    }
    ?>

<div class='box'>
	<a name='md-details'></a>
	<div class='box_heading dark-bg'>
<?php 
    echo $_REQUEST['r_resource'];
    ?>
:<?php 
    echo $_REQUEST['r_class'];
    ?>
 - View Sample Data<br/>
<small><?php 
    echo $current_format;
    ?>
 format (<?php 
    echo $format_link;
    ?>
)</small>
	</div>
	<div class='box_content light-bg'>

		<div style="width: 100%; height: 250px; overflow: auto;">
<?php 
    $field_list = $rets->SearchGetFields($search);
    $rets->FreeResult($search);
    $system_to_long = array();
    $table_metadata = $rets->GetMetadataTable($_REQUEST['r_resource'], $_REQUEST['r_class']);
    foreach ($table_metadata as $fi) {
        $system_to_long["{$fi['SystemName']}"] = $fi['LongName'];
    }
    echo "<table border='1' cellpadding='2' cellspacing='0' width='100%' class='metadata_details_fields'>\n";
    echo "<tr>\n";
    foreach ($field_list as $fi) {
        echo "<td valign='top'><b>{$fi}</b><br/>{$system_to_long["{$fi}"]}</td>";
    }
    echo "</tr>\n";
    $field_bg = "white-bg";
    foreach ($records as $rec) {
        echo "<tr class='{$field_bg}'>";
        foreach ($field_list as $fi) {
            if ($rec[$fi] == "RETSMDRESTR") {
                $rec[$fi] = "<span style='color:red;'>RESTRICTED</span>";
            }
            echo "<td valign='top'>{$rec[$fi]}</td>\n";
        }
        echo "</tr>\n";
        $field_bg = $field_bg == "light-bg" ? "white-bg" : "light-bg";
    }
    echo "<tr>\n";
    foreach ($field_list as $fi) {
        echo "<td valign='top'><b>{$fi}</b><br/>{$system_to_long["{$fi}"]}</td>";
    }
    echo "</tr>\n";
    echo "</table>\n";
    $rets->Disconnect();
    echo "\n\t\t</div>\n\t</div>\n</div>\n\n";
}
                }
                // process results
                while ($record = $rets->FetchRow($search)) {
                    $this_record = array();
                    foreach ($fields_order as $fo) {
                        $this_record[] = $record[$fo];
                    }
                    fputcsv($fh, $this_record);
                }
                $offset = $offset + $rets->NumRows();
            }
            $maxrows = $rets->IsMaxrowsReached();
            if ($debugging) {
                echo "    + Total found: {$rets->TotalRecordsFound()}<br>\n";
            }
            $rets->FreeResult($search);
        }
        fclose($fh);
        if ($debugging) {
            echo "  - done<br>\n";
        }
    }
}
if ($debugging) {
    echo "+ Disconnecting<br>\n";
}
$rets->Disconnect();
// Connect to the Database
include 'dbconn.php';
/* Start importing the data into the database */
foreach ($files_arr as $idx_file) {