Example #1
0
/**
 * Connects to POG SOAP server defined in configuration.php and
 * generates new versions of all objects detected in /objects/ dir.
 * All upgraded objects are then zipped and presented to user.
 *
 * @param string $path
 */
function UpdateAllObjects($path)
{
    $dir = opendir($path);
    $objects = array();
    while (($file = readdir($dir)) !== false) {
        if (strlen($file) > 4 && substr(strtolower($file), strlen($file) - 4) === '.php' && !is_dir($file) && $file != "class.database.php" && $file != "configuration.php" && $file != "setup.php" && $file != "class.pog_base.php") {
            $objects[] = $file;
        }
    }
    closedir($dir);
    $i = 0;
    foreach ($objects as $object) {
        $content = file_get_contents($path . "/" . $object);
        $contentParts = split("<b>", $content);
        if (isset($contentParts[1])) {
            $contentParts2 = split("</b>", $contentParts[1]);
        }
        if (isset($contentParts2[0])) {
            $className = trim($contentParts2[0]);
        }
        if (isset($className)) {
            eval('include_once("../../objects/class.' . strtolower($className) . '.php");');
            $instance = new $className();
            if (!TestIsMapping($instance)) {
                $objectNameList[] = $className;
                $linkParts1 = split("\\*\\/", $contentParts[1]);
                $linkParts2 = split("\\@link", $linkParts1[0]);
                $link = $linkParts2[1];
                $options = false;
                if ($GLOBALS['configuration']['proxy_host'] != false && $GLOBALS['configuration']['proxy_port'] != false && $GLOBALS['configuration']['proxy_username'] != false && $GLOBALS['configuration']['proxy_password'] != false) {
                    $options = array('proxy_host' => $GLOBALS['configuration']['proxy_host'], 'proxy_port' => $GLOBALS['configuration']['proxy_port'], 'proxy_login' => $GLOBALS['configuration']['proxy_username'], 'proxy_password' => $GLOBALS['configuration']['proxy_password']);
                }
                $client = new SoapClient($GLOBALS['configuration']['soap'], $options);
                if ($i == 0) {
                    $package = unserialize($client->GeneratePackageFromLink($link));
                } else {
                    $objectString = $client->GenerateObjectFromLink($link);
                    $package["objects"]["class." . strtolower($className) . ".php"] = $objectString;
                }
            }
        }
        $i++;
    }
    //upgrade mapping classes if any
    foreach ($objectNameList as $objectName) {
        $instance = new $objectName();
        foreach ($instance->pog_attribute_type as $key => $attribute_type) {
            if ($attribute_type['db_attributes'][1] == "JOIN") {
                $mappingString = $client->GenerateMapping($objectName, $key, isset($GLOBALS['configuration']['pdoDriver']) ? 'php5.1' : 'php5', isset($GLOBALS['configuration']['pdoDriver']) ? 'pdo' : 'pog', isset($GLOBALS['configuration']['pdoDriver']) ? 'mysql' : '');
                $package["objects"]['class.' . strtolower(MappingName($objectName, $key)) . '.php'] = $mappingString;
            }
        }
    }
    $zipfile = new createZip();
    $zipfile->addPOGPackage($package);
    $zipfile->forceDownload("pog." . time() . ".zip");
}
				<!-- header -->
				<form method="post" action="index3.php">
					<div class="result">
						<input type="image" src="./images/download.jpg"/>
					</div>
					<!-- result -->
					<div class="greybox2">
						<textarea cols="200" rows="30"><?php 
    echo $object;
    ?>
</textarea>
						<?php 
    foreach ($typeList as $key => $type) {
        if ($type == "JOIN") {
            echo '</br></br>Maping Class for ' . $attributeList[$key];
            $object = base64_decode($client->GenerateMapping($objectName, $attributeList[$key], $language, $wrapper, $pdoDriver));
            echo '<textarea cols="200" rows="30">' . $object . '</textarea>';
        }
    }
    ?>

					</div>
					<!-- greybox -->
					<div class="generate2"></div>
					<!-- generate -->
					<div class="restart">
						<a href="./index.php"><img src="./images/back1.gif" border="0"/></a><br />
						<a href="./restart.php"><img src="./images/back2.gif" border="0"/></a>
					</div>
					<!-- restart -->
				</form>