function package_view() { $_package_id = get_get_var_number("id"); if (!empty($_package_id)) { /* get information about this package */ $package = api_package_get($_package_id); /* get a list of scripts associated with this package */ $package_scripts = api_package_metadata_list($_package_id, PACKAGE_METADATA_TYPE_SCRIPT); /* get a list of screenshots associated with this package */ $package_screenshots = api_package_metadata_list($_package_id, PACKAGE_METADATA_TYPE_SCREENSHOT); /* get a list of all graph templates associated with this package */ $package_templates = api_package_graph_template_list($_package_id); ?> <table width="98%" align="center" cellspacing="0" cellpadding="3"> <tr> <td valign="top"> <span class="textInfo"><?php echo htmlspecialchars($package["name"]);?></span> [<a href="packages.php?action=edit&id=<?php echo $package["id"];?>">edit</a>]<br> <span class="textArea"><?php echo nl2br(htmlspecialchars($package["description"]));?></a> </td> </tr> </table> <br> <table width="98%" align="center" cellspacing="1" cellpadding="3"> <tr> <td style="background-color: #9C9C9C; color: white;" colspan="2"> <strong>Basic Information</strong> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Category</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["category"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Sub Category</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["subcategory"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Vendor</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["vendor"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Model/Version</strong> </td> <td> <?php echo $package["model"];?> </td> </tr> <tr> <td style="background-color: #9C9C9C; color: white;" colspan="2"> <strong>Author Information</strong> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Author Name</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["author_name"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Author Email</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["author_email"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Forum User</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["author_user_forum"];?> </td> </tr> <tr> <td style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Template Repository User</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo $package["author_user_repository"];?> </td> </tr> </table> <?php if (sizeof($package_templates) > 0) { ?> <br> <table width="98%" align="center" cellspacing="0" cellpadding="3"> <tr> <td> <p class="textInfo">Associated Graph Templates</p> </td> </tr> <tr> <td> <ul style="list-style-type: disc; font-size: 12px;"> <?php foreach ($package_templates as $template) { echo "<li><a href=\"graph_templates.php?action=edit&id=" . $template["id"] . "\">" . $template["template_name"] . "</a></li>\n"; } ?> </ul> </td> </tr> </table> <?php } ?> <br> <table width="98%" align="center" cellspacing="0" cellpadding="3"> <tr> <td valign="top"> <p class="textInfo">Installation Instructions</p> <p style="font-family: monospace;"><?php echo nl2br(htmlspecialchars($package["description_install"]));?> </td> </tr> </table> <?php if (sizeof($package_scripts) > 0) { ?> <br> <table width="98%" align="center" cellspacing="0" cellpadding="3"> <tr> <td> <p class="textInfo">Scripts</p> </td> </tr> </table> <br> <table width="98%" align="center" cellspacing="1" cellpadding="3"> <?php foreach ($package_scripts as $script) { ?> <tr> <td style="background-color: #9C9C9C; color: white;" colspan="2"> <strong><?php echo $script["name"];?></strong> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Description</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo nl2br(htmlspecialchars($script["description"]));?> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Required</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo (empty($script["required"]) ? "No" : "Yes");?> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Installation Instructions</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <?php echo nl2br(htmlspecialchars($script["description_install"]));?> </td> </tr> <tr> <td width="200" style="background-color: #f5f5f5; border-right: 1px dashed #d1d1d1;"> <strong>Payload</strong> </td> <td style="border-bottom: 1px solid #f7f7f7;"> <a href="packages.php?action=view_metadata_script&id=<?php echo $script["id"];?>" target="_new">Download Script</a> </td> </tr> <?php } ?> </table> <?php } if (sizeof($package_screenshots) > 0) { ?> <br> <table width="98%" align="center" cellspacing="0" cellpadding="3"> <tr> <td> <p class="textInfo">Screenshots</p> </td> </tr> <tr> <td> <ul style="list-style-type: disc; font-size: 12px;"> <?php $js_id_list = ""; $js_title_list = ""; $js_description_list = ""; $i = 0; foreach ($package_screenshots as $screenshot) { echo "<li><a href=\"javascript:view_screenshot($i)\">" . $screenshot["name"] . "</a></li>\n"; $js_id_list .= "\"" . $screenshot["id"] . "\"" . ($i < sizeof($package_screenshots) - 1 ? "," : ""); $js_title_list .= "\"" . addslashes(htmlspecialchars($screenshot["name"])) . "\"" . ($i < sizeof($package_screenshots) - 1 ? "," : ""); $js_description_list .= "\"" . addslashes(htmlspecialchars($screenshot["description"])) . "\"" . ($i < sizeof($package_screenshots) - 1 ? "," : ""); $i++; } ?> </ul> </td> </tr> <tr> <td> </td> </tr> <tr> <td style="background-color: #9C9C9C; color: white;" colspan="2"> <strong><span id="screenshot_title"></span></strong> </td> </tr> <tr> <td> <span id="screenshot_description"></span> </td> </tr> <tr> <td> <img id="screenshot_image" src="" alt=""> </td> </tr> </table> <script language="JavaScript"> <!-- var screenshot_ids = new Array(<?php echo $js_id_list;?>); var screenshot_titles = new Array(<?php echo $js_title_list;?>); var screenshot_descriptions = new Array(<?php echo $js_description_list;?>); function view_screenshot(id) { document.getElementById('screenshot_title').innerHTML = screenshot_titles[id]; document.getElementById('screenshot_description').innerHTML = screenshot_descriptions[id]; document.getElementById('screenshot_image').src = 'packages.php?action=view_metadata_screenshot&id=' + screenshot_ids[id]; } view_screenshot(0); --> </script> <?php } } }
function &package_dependencies_list($type, $id, $dep_array) { require_once(CACTI_BASE_PATH . "/lib/graph_template/graph_template_info.php"); require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_info.php"); /* make sure we define our variables */ if (sizeof($dep_array) == 0) { $dep_array["graph_template"] = array(); $dep_array["data_template"] = array(); $dep_array["script"] = array(); $dep_array["data_query"] = array(); } switch ($type) { case 'package': /* dependency: graph template */ $graph_templates = api_package_graph_template_list($id); if (sizeof($graph_templates) > 0) { foreach ($graph_templates as $graph_template) { if (!in_array($graph_template["id"], $dep_array["graph_template"])) { $dep_array["graph_template"][] = $graph_template["id"]; $dep_array = package_dependencies_list("graph_template", $graph_template["id"], $dep_array); } } } break; case 'graph_template': /* dependency: data template */ $data_templates = api_graph_template_data_template_list($id); if (sizeof($data_templates) > 0) { foreach ($data_templates as $data_template) { if (!in_array($data_template["id"], $dep_array["data_template"])) { $dep_array["data_template"][] = $data_template["id"]; $dep_array = package_dependencies_list("data_template", $data_template["id"], $dep_array); } } } break; case 'data_template': /* dependency: script */ $script_id = api_data_template_input_field_value_get($id, "script_id"); if (($script_id != false) && (db_integer_validate($script_id)) && (!in_array($script_id, $dep_array["script"]))) { $dep_array["script"][] = $script_id; } /* dependency: data query */ $data_query_id = api_data_template_input_field_value_get($id, "data_query_id"); if (($data_query_id !== false) && (db_integer_validate($data_query_id)) && (!in_array($data_query_id, $dep_array["data_query"]))) { $dep_array["data_query"][] = $data_query_id; } break; } return $dep_array; }