Example #1
0
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
		}
	}
}
Example #2
0
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;
}