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 }
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 }