diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..e283f2d
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var Ext = {};
+ var Zarafa = {};
+ var container = {};
+ var _ = function(key, domain) {};
+ var dgettext = function(domain, msgid) {};
+ var dngettext = function(domain, msgid, msgid_plural, count) {};
+ var dnpgettext = function(domain, msgctxt, msgid, msgid_plural, count) {};
+ var dpgettext = function(domain, msgctxt, msgid) {};
+ var ngettext = function(msgid, msgid_plural, count) {};
+ var npgettext = function(msgctxt, msgid, msgid_plural, count) {};
+ var pgettext = function(msgctxt, msgid) {};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config.php b/config.php
new file mode 100644
index 0000000..fae929e
--- /dev/null
+++ b/config.php
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/js/ABOUT.js b/js/ABOUT.js
new file mode 100644
index 0000000..c9da29e
--- /dev/null
+++ b/js/ABOUT.js
@@ -0,0 +1,8 @@
+Ext.namespace('Zarafa.plugins.passwd');
+
+/**
+ * @class Zarafa.plugins.passwd.ABOUT
+ *
+ * The copyright string holding the copyright notice for the Zarafa passwd Plugin.
+ */
+Zarafa.plugins.sugarcrm.ABOUT = "Something should be here";
diff --git a/js/PasswdPlugin.js b/js/PasswdPlugin.js
new file mode 100644
index 0000000..9ff37b0
--- /dev/null
+++ b/js/PasswdPlugin.js
@@ -0,0 +1,56 @@
+Ext.namespace('Zarafa.plugins.passwd');
+
+/**
+ * @class Zarafa.plugins.passwd.PasswdPlugin
+ * @extends Zarafa.core.Plugin
+ *
+ * Passwd plugin.
+ * Allows users to change password from webapp.
+ */
+Zarafa.plugins.passwd.PasswdPlugin = Ext.extend(Zarafa.core.Plugin, {
+
+ /**
+ * Initialize the plugin by registering to the insertion point
+ * to add something to the right end of the main tab bar.
+ * @protected
+ */
+ initPlugin : function()
+ {
+ Zarafa.plugins.passwd.PasswdPlugin.superclass.initPlugin.apply(this, arguments);
+
+ this.registerInsertionPoint('main.maintabbar.right', this.putTabbarButton, this);
+ },
+
+ /**
+ * Create the button to add to the insertion point as called
+ * by init().
+ * @return A struct with the necessary configuration for the button.
+ * @private
+ */
+ putTabbarButton : function()
+ {
+ return {
+ text : _('Change Password'),
+ handler : this.clickPasswdButton
+ };
+ },
+
+ /**
+ * Trigger function called when the user clicks the button in the
+ * main tab bar.
+ * @private
+ */
+ clickPasswdButton : function()
+ {
+ // open a dialog
+ }
+});
+
+Zarafa.onReady(function() {
+ container.registerPlugin(new Zarafa.core.PluginMetaData({
+ name : 'passwd',
+ displayName : _('Password Change Plugin'),
+ about : Zarafa.plugins.passwd.ABOUT,
+ pluginConstructor : Zarafa.plugins.passwd.PasswdPlugin
+ }));
+});
diff --git a/manifest.xml b/manifest.xml
new file mode 100644
index 0000000..9c55014
--- /dev/null
+++ b/manifest.xml
@@ -0,0 +1,34 @@
+
+
+
+
+ 0.1
+ Passwd
+ Password Changer Plugin
+ Saket Patel
+ http://www.zarafa.com
+ Change your password from zarafa webapp
+
+
+ config.php
+
+
+
+
+
+ php/plugin.passwd.php
+ php/class.passwdmodule.php
+
+
+ js/passwd.js
+ js/passwd-debug.js
+ js/PasswdPlugin.js
+ js/ABOUT.js
+
+
+
+
+
+
diff --git a/php/class.passwdmodule.php b/php/class.passwdmodule.php
new file mode 100644
index 0000000..d8590b2
--- /dev/null
+++ b/php/class.passwdmodule.php
@@ -0,0 +1,42 @@
+data as $actionType => $actionData)
+ {
+ if(isset($actionType)) {
+ try {
+ switch($actionType)
+ {
+ case "save":
+ $this->save($actionData);
+ break;
+ default:
+ $this->handleUnknownActionType($actionType);
+ }
+ } catch (MAPIException $e) {
+ $this->sendFeedback(false, $this->errorDetailsFromException($e));
+ }
+
+ }
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/php/plugin.passwd.php b/php/plugin.passwd.php
new file mode 100644
index 0000000..bec8323
--- /dev/null
+++ b/php/plugin.passwd.php
@@ -0,0 +1,55 @@
+
+ */
+
+class Pluginpasswd extends Plugin {
+
+ public function __construct() {}
+
+ /**
+ * Function initializes the Plugin and registers all hooks
+ */
+ function init() {
+ $this->registerHook('server.core.settings.init.before');
+ }
+
+ /**
+ * Function is executed when a hook is triggered by the PluginManager
+ *
+ * @param string $eventID the id of the triggered hook
+ * @param mixed $data object(s) related to the hook
+ */
+ function execute($eventID, &$data) {
+ switch($eventID) {
+ case 'server.core.settings.init.before' :
+ $this->injectPluginSettings($data);
+ break;
+ }
+ }
+
+ /**
+ * Called when the core Settings class is initialized and ready to accept sysadmin default
+ * settings. Registers the sysadmin defaults for the SugarCRM plugin.
+ * @param Array $data Reference to the data of the triggered hook
+ */
+ function injectPluginSettings(&$data) {
+ $data['settingsObj']->addSysAdminDefaults(Array(
+ 'zarafa' => Array(
+ 'v1' => Array(
+ 'plugins' => Array(
+ 'sugarcrm' => Array(
+ 'enable' => PLUGIN_PASSWD_USER_DEFAULT_ENABLE,
+ )
+
+ )
+ )
+ )
+ ));
+ }
+}
+?>