web/wp-content/plugins/exec-php/includes/script.php
changeset 136 bde1974c263b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/plugins/exec-php/includes/script.php	Wed Feb 03 15:37:20 2010 +0000
@@ -0,0 +1,106 @@
+<?php
+
+require_once(dirname(__FILE__).'/const.php');
+require_once(dirname(__FILE__).'/l10n.php');
+
+// -----------------------------------------------------------------------------
+// the ExecPhp_Script class displays the Exec-PHP javascript if necessary
+// -----------------------------------------------------------------------------
+
+if (!class_exists('ExecPhp_Script')) :
+
+class ExecPhp_Script
+{
+	var $m_id = NULL;
+	var $tab_name = NULL;
+	var $m_l10n_tab = NULL;
+	var $m_path = NULL;
+	var $m_dependency = NULL;
+
+	function ExecPhp_Script($id, $tab_name, $l10n_tab, $path, $dependency)
+	{
+		$this->m_id =& $id;
+		$this->m_tab_name = $tab_name;
+		$this->m_l10n_tab = $l10n_tab;
+		$this->m_path = $path;
+		$this->m_dependency = $dependency;
+
+		if (function_exists('wp_enqueue_script'))
+			wp_enqueue_script($this->m_id, ExecPhp_HOME_URL. $this->m_path, $this->m_dependency);
+		else
+			// WP < 2.1
+			add_action('admin_head', array(&$this, 'action_admin_head_script'));
+
+		if (!$this->m_l10n_tab)
+			return;
+
+		global $wp_version;
+
+		if (version_compare($wp_version, '2.1.dev') >= 0)
+			add_action('wp_print_scripts', array(&$this, 'action_wp_print_scripts'));
+		else
+			add_action('admin_head', array(&$this, 'action_admin_head_tab'));
+	}
+
+	// ---------------------------------------------------------------------------
+	// hooks
+	// ---------------------------------------------------------------------------
+
+	function action_wp_print_scripts()
+	{
+		if (function_exists('wp_localize_script'))
+		{
+			$this->m_l10n_tab['l10n_print_after'] = 'try{convertEntities('. $this->m_tab_name. ');}catch(e){};';
+			wp_localize_script($this->m_id, $this->m_tab_name, $this->m_l10n_tab);
+		}
+		else
+			// WP < 2.2
+			add_action('admin_head', array(&$this, 'action_admin_head_tab'));
+	}
+
+	function action_admin_head_script()
+	{
+?>
+<script type='text/javascript' src='<?php echo ExecPhp_HOME_URL. $this->m_path; ?>'></script>
+<?php
+	}
+
+	function action_admin_head_tab()
+	{
+?>
+<script type='text/javascript'>
+/* <![CDATA[ */
+	<?php echo $this->m_tab_name; ?> = {
+<?php
+		foreach ($this->m_l10n_tab as $item => $value)
+		{
+			echo "\t\t$item: \"$value\",\n";
+		}
+		echo "\t\tlast: \"last\"\n\t}\n";
+?>
+	try{convertEntities(<?php echo $this->m_tab_name; ?>);}catch(e){};
+/* ]]> */
+</script>
+<?php
+	}
+
+	// ---------------------------------------------------------------------------
+	// tools
+	// ---------------------------------------------------------------------------
+
+	function print_message($heading, $text)
+	{
+		$heading = escape_dquote($heading);
+		$text = escape_dquote($text);
+?>
+	<script type="text/javascript">
+		//<![CDATA[
+		ExecPhp_setMessage("<?php echo $heading; ?>", "<?php echo $text; ?>");
+		//]]>
+	</script>
+<?php
+	}
+}
+endif;
+
+?>
\ No newline at end of file