Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 47689adde66a7c314509226275c8923d > files > 5

eclipse-phpeclipse-1.2.0-0.2.svn1573.1mdv2009.0.src.rpm

--- net.sourceforge.phpeclipse.externaltools/prefs/default_linux.properties	2005-10-13 19:38:40.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/prefs/default_linux.properties	2008-06-15 11:18:01.000000000 +0100
@@ -1,14 +1,14 @@
-_php_run_pref=/opt/lamp/php/php
-_external_parser=/opt/lamp/php/php -l -f {0}
-_mysql_run_pref=/opt/lampp/lampp startmysql
-_apache_run_pref=/opt/lampp/lampp
-_xampp_start_pref=/opt/lampp/lampp start
-_xampp_stop_pref=/opt/lampp/lampp stop
-__mysql_start=startmysql
-__apache_start=startapache -c \"DocumentRoot {0}\"
-__apache_stop=stop
-__apache_restart=restart
+_php_run_pref=/usr/bin/php
+_external_parser=/usr/bin/php -l -f {0}
+_mysql_run_pref=
+_apache_run_pref=/usr/sbin/httpd
+_xampp_start_pref=
+_xampp_stop_pref=
+__mysql_start=
+__apache_start=-f /usr/share/eclipse/plugins/net.sourceforge.phpeclipse.externaltools_1.2.0/conf/httpd.conf -c "ErrorLog {0}/.metadata/phpeclipse-httpd-error_log" -c "DocumentRoot {0}" -c "PidFile {0}/.metadata/phpeclipse-httpd.pid" -c "Listen {1}"
+__apache_stop=-f /usr/share/eclipse/plugins/net.sourceforge.phpeclipse.externaltools_1.2.0/conf/httpd.conf -c "ErrorLog {0}/.metadata/phpeclipse-httpd-error_log" -c "DocumentRoot {0}" -c "PidFile {0}/.metadata/phpeclipse-httpd.pid" -c "Listen {1}" -k stop
+__apache_restart=-f /usr/share/eclipse/plugins/net.sourceforge.phpeclipse.externaltools_1.2.0/conf/httpd.conf -c "ErrorLog {0}/.metadata/phpeclipse-httpd-error_log" -c "DocumentRoot {0}" -c "PidFile {0}/.metadata/phpeclipse-httpd.pid" -c "Listen {1}" -k restart
 _mysql_start_background=true
 _apache_start_background=true
 _apache_stop_background=true
 _apache_restart_background=true
--- net.sourceforge.phpeclipse.externaltools/conf/httpd.conf	1970-01-01 01:00:00.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/conf/httpd.conf	2008-06-22 13:09:36.000000000 +0100
@@ -0,0 +1,23 @@
+# minimal httpd conf file for use with PHPEclipse
+StartServers 1
+MinSpareServers 1
+MaxSpareServers 1
+MaxClients 3
+
+# modules
+LoadModule mime_module modules/mod_mime.so
+LoadModule dir_module modules/mod_dir.so
+LoadModule autoindex_module modules/mod_autoindex.so
+
+TypesConfig /etc/mime.types
+DirectoryIndex index.html index.php default.html default.php
+DirectorySlash On
+
+IndexOptions FoldersFirst VersionSort IgnoreCase NameWidth=* HTMLTable
+IndexIgnore RECYCLER .??* *~ *# HEADER* README* RCS CVS *,v *,t
+HeaderName HEADER.html
+ReadmeName README.html
+
+# PHP settings
+LoadModule php5_module modules/libphp5.so
+AddHandler php5-script .php
--- net.sourceforge.phpeclipse.externaltools/build.properties	2006-10-22 00:06:44.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/build.properties	2008-06-22 13:15:16.000000000 +0100
@@ -5,6 +5,7 @@
                icons/,\
                META-INF/,\
                plugin.properties,\
+               conf/,\
                prefs/
 src.includes = src/,\
                build.properties,\
@@ -15,4 +16,9 @@
                .cvsignore,\
                .project,\
                META-INF/,\
+               conf/,\
                prefs/
+bin.excludes = prefs/default_macosx.properties,\
+               prefs/default_win32.properties
+src.excludes = prefs/default_macosx.properties,\
+               prefs/default_win32.properties
--- net.sourceforge.phpeclipse.externaltools/plugin.xml	2007-09-24 21:26:12.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/plugin.xml	2008-06-15 10:17:07.000000000 +0100
@@ -192,11 +192,6 @@
 	  </page>
 	  <page
 			category="net.sourceforge.phpdt.externaltools.preferences"
-			class="net.sourceforge.phpdt.externaltools.preferences.XamppPrefencePage"
-			id="net.sourceforge.phpeclipse.externaltools.xampp.preferences"
-			name="XAMPP"/>
-	  <page
-			category="net.sourceforge.phpdt.externaltools.preferences"
 			class="net.sourceforge.phpdt.externaltools.preferences.MySQLPreferencePage"
 			id="net.sourceforge.phpeclipse.externaltools.mysql.preferences"
 			name="MySQL"/>
@@ -268,24 +263,6 @@
 			   toolbarPath="Normal"
 			   id="net.sourceforge.phpdt.externaltools.actions.PHPStartMySQLAction">
 		 </action>
-		 <action
-			   label="Stop XAMPP"
-			   icon="icons/obj16/xampp_stop.gif"
-			   tooltip="Stop XAMPP"
-			   class="net.sourceforge.phpdt.externaltools.actions.PHPStopXAMPPAction"
-			   menubarPath="net.sourceforge.phpeclipse.PHPMenu/phpeclipse"
-			   toolbarPath="Normal"
-			   id="net.sourceforge.phpdt.externaltools.actions.PHPStopXAMPPAction">
-		 </action>
-		 <action
-			   label="Start XAMPP"
-			   icon="icons/obj16/xampp_start.gif"
-			   tooltip="Start XAMPP"
-			   class="net.sourceforge.phpdt.externaltools.actions.PHPStartXAMPPAction"
-			   menubarPath="net.sourceforge.phpeclipse.PHPMenu/phpeclipse"
-			   toolbarPath="Normal"
-			   id="net.sourceforge.phpdt.externaltools.actions.PHPStartXAMPPAction">
-		 </action>
 	  </actionSet>
 	</extension>
 
--- net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java	2008-01-14 03:40:19.000000000 +0000
+++ net.sourceforge.phpeclipse.ui/src/net/sourceforge/phpeclipse/ui/WebUI.java	2008-06-22 20:43:04.000000000 +0100
@@ -15,16 +15,19 @@
 
 import java.io.IOException;
 import java.net.URL;
+import java.net.ServerSocket;
 
 import net.sourceforge.phpeclipse.ui.templates.template.HTMLContextType;
 import net.sourceforge.phpeclipse.ui.templates.template.JSContextType;
 import net.sourceforge.phpeclipse.ui.templates.template.SmartyContextType;
 import net.sourceforge.phpeclipse.ui.templates.template.XMLContextType;
 
+import org.eclipse.core.internal.utils.FileUtil;
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.resource.ImageRegistry;
@@ -56,6 +59,7 @@
 
 	/** The shared instance. */
 	private static WebUI plugin;
+	private int port = 0;
 
 	public static IWorkbenchPage getActivePage() {
 		return getDefault().internalGetActivePage();
@@ -165,10 +169,42 @@
 		return fStore;
 	}
 
+	public int getHttpdPort() {
+		if (port == 0) {
+			port = findFreePort();
+		}
+		return port;
+	}
+
+	private int findFreePort() {
+		ServerSocket socket = null;
+		try {
+			socket = new ServerSocket(0);
+			socket.setReuseAddress(true);
+			return socket.getLocalPort();
+		} catch(IOException e) {
+			IStatus status = new Status(IStatus.ERROR, "net.sourceforge.phpeclipse.ui", IStatus.OK, "Error finding free port.", e);
+			plugin.getLog().log(status);
+		} finally {
+			if(socket != null) {
+				try {
+					socket.close();
+				} catch(IOException e) {
+					IStatus status = new Status(IStatus.ERROR, "net.sourceforge.phpeclipse.ui", IStatus.OK, "Error finding free port.", e);
+					plugin.getLog().log(status);
+				}
+			}
+		}
+		return -1;
+	}
+
 	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		store.setDefault(PHP_LOCALHOST_PREF, "http://localhost");
-		store.setDefault(PHP_DOCUMENTROOT_PREF, getWorkspace().getRoot()
-				.getFullPath().toString());
+		if (port ==  0) {
+			port = findFreePort();
+		}
+		store.setDefault(PHP_LOCALHOST_PREF, "http://localhost" + ":" + port);
+		store.setDefault(PHP_DOCUMENTROOT_PREF,
+				FileUtil.canonicalPath(Platform.getLocation()).removeTrailingSeparator().toOSString());
 		// store.setDefault(PHP_BOOKMARK_DEFAULT, "");
 
 		store.setDefault(PHP_AUTO_PREVIEW_DEFAULT, "false");
--- net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPStartApacheAction.java	2006-10-22 00:19:54.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPStartApacheAction.java	2008-06-22 16:18:08.000000000 +0100
@@ -32,7 +32,7 @@
 
 		// replace backslash with slash in the DocumentRoot under Windows
 		documentRoot = documentRoot.replace('\\', '/');
-		String[] arguments = { documentRoot };
+		String[] arguments = { documentRoot, new Integer(WebUI.getDefault().getHttpdPort()).toString() };
 		MessageFormat form = new MessageFormat(store
 				.getString(ExternalToolsPlugin.APACHE_START_PREF));
 		execute("apache_start", store
--- net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPStopApacheAction.java	2006-10-22 00:19:54.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPStopApacheAction.java	2008-06-22 17:43:22.000000000 +0100
@@ -11,20 +11,31 @@
  **********************************************************************/
 package net.sourceforge.phpdt.externaltools.actions;
 
+import java.text.MessageFormat;
+
 import net.sourceforge.phpeclipse.externaltools.ExternalToolsPlugin;
+import net.sourceforge.phpeclipse.ui.WebUI;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.preference.IPreferenceStore;
 
 public class PHPStopApacheAction extends PHPStartApacheAction {
 	public void run(IAction action) {
+		final IPreferenceStore webUIStore = WebUI.getDefault()
+		.getPreferenceStore();
+
+		String documentRoot = webUIStore.getString(WebUI.PHP_DOCUMENTROOT_PREF);
 		final IPreferenceStore store = ExternalToolsPlugin.getDefault()
 				.getPreferenceStore();
-		// execute(store.getString(PHPeclipsePlugin.APACHE_STOP_PREF), "Stop
-		// Apache: ");
+
+		// replace backslash with slash in the DocumentRoot under Windows
+		documentRoot = documentRoot.replace('\\', '/');
+		String[] arguments = { documentRoot, new Integer(WebUI.getDefault().getHttpdPort()).toString() };
+		MessageFormat form = new MessageFormat(store
+				.getString(ExternalToolsPlugin.APACHE_STOP_PREF));
 		execute("apache_stop", store
-				.getString(ExternalToolsPlugin.APACHE_RUN_PREF), store
-				.getString(ExternalToolsPlugin.APACHE_STOP_PREF), store
+				.getString(ExternalToolsPlugin.APACHE_RUN_PREF), form
+				.format(arguments), store
 				.getBoolean(ExternalToolsPlugin.APACHE_STOP_BACKGROUND));
 	}
 }
--- net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPRestartApacheAction.java	2006-10-22 00:19:54.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpdt/externaltools/actions/PHPRestartApacheAction.java	2008-06-22 17:34:10.000000000 +0100
@@ -11,20 +11,31 @@
  **********************************************************************/
 package net.sourceforge.phpdt.externaltools.actions;
 
+import java.text.MessageFormat;
+
 import net.sourceforge.phpeclipse.externaltools.ExternalToolsPlugin;
+import net.sourceforge.phpeclipse.ui.WebUI;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.preference.IPreferenceStore;
 
 public class PHPRestartApacheAction extends PHPStartApacheAction {
 	public void run(IAction action) {
+		final IPreferenceStore webUIStore = WebUI.getDefault()
+		.getPreferenceStore();
+
+		String documentRoot = webUIStore.getString(WebUI.PHP_DOCUMENTROOT_PREF);
 		final IPreferenceStore store = ExternalToolsPlugin.getDefault()
 				.getPreferenceStore();
-		// execute(store.getString(PHPeclipsePlugin.APACHE_RESTART_PREF),
-		// "Restart Apache: ");
+
+		// replace backslash with slash in the DocumentRoot under Windows
+		documentRoot = documentRoot.replace('\\', '/');
+		String[] arguments = { documentRoot, new Integer(WebUI.getDefault().getHttpdPort()).toString() };
+		MessageFormat form = new MessageFormat(store
+				.getString(ExternalToolsPlugin.APACHE_RESTART_PREF));
 		execute("apache_restart", store
-				.getString(ExternalToolsPlugin.APACHE_RUN_PREF), store
-				.getString(ExternalToolsPlugin.APACHE_RESTART_PREF), store
+				.getString(ExternalToolsPlugin.APACHE_RUN_PREF), form
+				.format(arguments), store
 				.getBoolean(ExternalToolsPlugin.APACHE_RESTART_BACKGROUND));
 	}
 }
--- net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java	2008-01-23 21:53:45.000000000 +0000
+++ net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java	2008-06-23 00:03:35.000000000 +0100
@@ -52,6 +52,7 @@
 import net.sourceforge.phpeclipse.builder.ExternalStorageDocumentProvider;
 import net.sourceforge.phpeclipse.builder.FileStorage;
 import net.sourceforge.phpeclipse.builder.IdentifierIndexManager;
+import net.sourceforge.phpeclipse.externaltools.ExternalToolsPlugin;
 import net.sourceforge.phpeclipse.phpeditor.CustomBufferFactory;
 import net.sourceforge.phpeclipse.phpeditor.DocumentAdapter;
 import net.sourceforge.phpeclipse.phpeditor.ICompilationUnitDocumentProvider;
@@ -989,6 +990,7 @@
 
 			// RefactoringCore.getUndoManager().shutdown();
 		} finally {
+			ExternalToolsPlugin.getDefault().stopHttpd();
 			super.stop(context);
 		}
 	}
--- net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpeclipse/externaltools/ExternalToolsPlugin.java	2006-10-22 00:19:54.000000000 +0100
+++ net.sourceforge.phpeclipse.externaltools/src/net/sourceforge/phpeclipse/externaltools/ExternalToolsPlugin.java	2008-06-23 00:01:11.000000000 +0100
@@ -15,6 +15,7 @@
 import java.util.Enumeration;
 import java.util.PropertyResourceBundle;
 
+import net.sourceforge.phpdt.externaltools.actions.PHPStopApacheAction;
 import net.sourceforge.phpdt.externaltools.internal.model.ExternalToolsImages;
 import net.sourceforge.phpdt.externaltools.internal.model.IPreferenceConstants;
 import net.sourceforge.phpdt.externaltools.internal.model.VariableContextManager;
@@ -28,6 +29,7 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.action.Action;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferenceConverter;
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -310,4 +312,17 @@
 			}
 		});
 	}
+
+	/**
+	 * @throws Exception
+	 * @see org.eclipse.core.runtime.Plugin#stop(BundleContext context)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		super.stop(context);
+	}
+
+	public void stopHttpd() {
+		// stop httpd 
+		new PHPStopApacheAction().run(new Action(){});
+	}
 }
\ No newline at end of file