Beispiel #1
0
function executevardefs()
{
    //BEGIN DUMP OF SUGAR SCHEMA (VARDEFS)
    //END DUMP OF SUGAR SCHEMA (VARDEFS)
    //BEGIN UPDATING PROGRESS BAR
    //This gets the vardefs, writes to a buffer, then I write to vardefschema.html
    global $cacheDir;
    global $beanList;
    global $beanFiles;
    global $dictionary;
    global $sugar_version;
    global $sugar_db_version;
    global $sugar_flavor;
    ob_start();
    foreach ($beanList as $beanz) {
        // echo "Module: ".$beanz."<br>";
        $path_parts = pathinfo($beanFiles[$beanz]);
        $vardefFileName = $path_parts['dirname'] . "/vardefs.php";
        if (file_exists($vardefFileName)) {
            // echo "<br>".$vardefFileName."<br>";
            include_once $vardefFileName;
        }
    }
    echo "<html>";
    echo "<BODY>";
    echo "<H1>Schema listing based on vardefs</H1>";
    echo "<P>Sugar version:  " . $sugar_version . " / Sugar DB version:  " . $sugar_db_version . " / Sugar flavor:  " . $sugar_flavor;
    echo "</P>";
    echo "<style> th { text-align: left; } </style>";
    $tables = array();
    foreach ($dictionary as $vardef) {
        $tables[] = $vardef['table'];
        $fields[$vardef['table']] = $vardef['fields'];
        $comments[$vardef['table']] = $vardef['comment'];
    }
    asort($tables);
    foreach ($tables as $t) {
        $name = $t;
        if ($name == "does_not_exist") {
            continue;
        }
        $comment = $comments[$t];
        echo "<h2>Table: {$t}</h2>\n\t\t<p><i>{$comment}</i></p>";
        echo "<table border=\"0\" cellpadding=\"3\" class=\"tabDetailView\">";
        echo '<TR BGCOLOR="#DFDFDF">
		<TD NOWRAP ALIGN=left class=\\"tabDetailViewDL\\">Column</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">Type</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">Length</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">Required</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">Comment</TD>
	</TR>';
        ksort($fields[$t]);
        foreach ($fields[$t] as $k => $v) {
            // we only care about physical tables ('source' can be 'non-db' or 'nondb' or 'function' )
            if (isset($v['source'])) {
                continue;
            }
            $columnname = $v['name'];
            $columntype = $v['type'];
            $columndbtype = $v['dbType'];
            $columnlen = $v['len'];
            $columncomment = $v['comment'];
            $columnrequired = $v['required'];
            if (empty($columnlen)) {
                $columnlen = '<i>n/a</i>';
            }
            if (empty($columncomment)) {
                $columncomment = '<i>(none)</i>';
            }
            if (!empty($columndbtype)) {
                $columntype = $columndbtype;
            }
            if (empty($columnrequired) || $columnrequired == false) {
                $columndisplayrequired = 'no';
            } else {
                $columndisplayrequired = 'yes';
            }
            echo '<TR BGCOLOR="#FFFFFF" ALIGN=left>
			<TD ALIGN=left class=\\"tabDetailViewDF\\">' . $columnname . '</TD>
	  		<TD NOWRAP class=\\"tabDetailViewDF\\">' . $columntype . '</TD>
			<TD NOWRAP class=\\"tabDetailViewDF\\">' . $columnlen . '</TD>
			<TD NOWRAP class=\\"tabDetailViewDF"\\">' . $columndisplayrequired . '</TD>
			<TD WRAP class=\\"tabDetailViewDF\\">' . $columncomment . '</TD></TR>';
        }
        echo "</table></p>";
    }
    echo "</body></html>";
    $vardefFormattedOutput = ob_get_contents();
    ob_clean();
    $handle = sugar_fopen($cacheDir . "vardefschema.html", "w");
    if (fwrite($handle, $vardefFormattedOutput) === FALSE) {
        echo "Cannot write to file " . $cacheDir . "vardefschema.html<br>";
    }
    fclose($handle);
    sodUpdateProgressBar(VARDEFS_WEIGHT);
    //END UPDATING PROGRESS BAR
}
Beispiel #2
0
function executevardefs()
{
    //BEGIN DUMP OF SUGAR SCHEMA (VARDEFS)
    //END DUMP OF SUGAR SCHEMA (VARDEFS)
    //BEGIN UPDATING PROGRESS BAR
    //This gets the vardefs, writes to a buffer, then I write to vardefschema.html
    global $cacheDir;
    global $beanList;
    global $beanFiles;
    global $dictionary;
    global $sugar_version;
    global $sugar_db_version;
    global $sugar_flavor;
    global $mod_strings;
    ob_start();
    foreach ($beanList as $beanz) {
        // echo "Module: ".$beanz."<br>";
        $path_parts = pathinfo($beanFiles[$beanz]);
        $vardefFileName = $path_parts['dirname'] . "/vardefs.php";
        if (file_exists($vardefFileName)) {
            // echo "<br>".$vardefFileName."<br>";
        }
        include_once $vardefFileName;
    }
    echo "<html lang='en'>";
    echo "<BODY>";
    echo $mod_strings['LBL_DIAGNOSTICS_VARDEFS_SCHEMA_LISTING'];
    $versionData = array($sugar_version, $sugar_db_version, $sugar_flavor);
    echo string_format($mod_strings['LBL_DIAGNOSTICS_VARDEFS_VERSIONS'], $versionData);
    echo "</P>";
    echo "<style> th { text-align: left; } </style>";
    $tables = array();
    foreach ($dictionary as $vardef) {
        $tables[] = $vardef['table'];
        $fields[$vardef['table']] = $vardef['fields'];
        $comments[$vardef['table']] = empty($vardef['comment']) ? '' : $vardef['comment'];
    }
    asort($tables);
    foreach ($tables as $t) {
        $name = $t;
        if ($name == "does_not_exist") {
            continue;
        }
        $comment = $comments[$t];
        echo "<h2>" . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_TABLE'] . ": {$t}</h2>\n\t\t<p><i>{$comment}</i></p>";
        echo "<table border=\"0\" cellpadding=\"3\" class=\"tabDetailView\">";
        echo '<TR BGCOLOR="#DFDFDF">
		<TD NOWRAP ALIGN=left class=\\"tabDetailViewDL\\">' . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_COLUMN'] . '</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">' . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_TYPE'] . '</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">' . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_LENGTH'] . '</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">' . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_REQUIRED'] . '</TD>
		<TD NOWRAP class=\\"tabDetailViewDL\\">' . $mod_strings['LBL_DIAGNOSTICS_VARDEFS_COMMENT'] . '</TD>
	</TR>';
        ksort($fields[$t]);
        foreach ($fields[$t] as $k => $v) {
            // we only care about physical tables ('source' can be 'non-db' or 'nondb' or 'function' )
            if (isset($v['source'])) {
                continue;
            }
            $columnname = empty($v['name']) ? '<i>n/a</i>' : $v['name'];
            $columntype = $v['type'];
            $columndbtype = empty($v['dbType']) ? '' : $v['dbType'];
            $columnlen = empty($v['len']) ? '' : $v['len'];
            $columncomment = empty($v['comment']) ? '<i>(none)</i>' : $v['comment'];
            $columndisplayrequired = empty($v['required']) ? 'no' : 'yes';
            if (!empty($columndbtype)) {
                $columntype = $columndbtype;
            }
            echo '<TR BGCOLOR="#FFFFFF" ALIGN=left>
			<TD ALIGN=left class=\\"tabDetailViewDF\\">' . $columnname . '</TD>
	  		<TD NOWRAP class=\\"tabDetailViewDF\\">' . $columntype . '</TD>
			<TD NOWRAP class=\\"tabDetailViewDF\\">' . $columnlen . '</TD>
			<TD NOWRAP class=\\"tabDetailViewDF"\\">' . $columndisplayrequired . '</TD>
			<TD WRAP class=\\"tabDetailViewDF\\">' . $columncomment . '</TD></TR>';
        }
        echo "</table></p>";
    }
    echo "</body></html>";
    $vardefFormattedOutput = ob_get_contents();
    ob_clean();
    $handle = sugar_fopen($cacheDir . "vardefschema.html", "w");
    if (fwrite($handle, $vardefFormattedOutput) === FALSE) {
        echo "Cannot write to file " . $cacheDir . "vardefschema.html<br>";
    }
    fclose($handle);
    sodUpdateProgressBar(VARDEFS_WEIGHT);
    //END UPDATING PROGRESS BAR
}