/**
* ProjectImportPlugin Class
*
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
*
- * This file is part of GForge.
- *
- * GForge is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GForge is distributed in the hope that it will be useful,
+ * FusionForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+forge_define_config_item('storage_base','projectimport','$core/data_path/plugins/projectimport/');
+forge_define_config_item('libmagic_db','projectimport','/usr/share/misc/magic.mgc');
+
class ProjectImportPlugin extends Plugin {
function ProjectImportPlugin () {
$this->Plugin() ;
$this->name = "projectimport" ;
$this->text = "Project import" ; // To show in the tabs, use...
+ $this->hooks[] = "groupmenu" ; // To put into the project tabs
+ /*
$this->hooks[] = "user_personal_links";//to make a link to the user's personal part of the plugin
$this->hooks[] = "usermenu" ;
- $this->hooks[] = "groupmenu" ; // To put into the project tabs
$this->hooks[] = "groupisactivecheckbox" ; // The "use ..." checkbox in editgroupinfo
$this->hooks[] = "groupisactivecheckboxpost" ; //
$this->hooks[] = "userisactivecheckbox" ; // The "use ..." checkbox in user account
$this->hooks[] = "userisactivecheckboxpost" ; //
$this->hooks[] = "project_admin_plugins"; // to show up in the admin page fro group
+ */
+ // The plugin has a link added to the Project administration part of site admin
+ $this->hooks[] = "site_admin_project_maintenance_hook";
+ $this->hooks[] = "site_admin_user_maintenance_hook";
}
- function CallHook ($hookname, $params) {
+ function CallHook ($hookname, &$params) {
global $use_projectimportplugin,$G_SESSION,$HTML;
- if ($hookname == "usermenu") {
+ /*if ($hookname == "usermenu") {
$text = $this->text; // this is what shows in the tab
if ($G_SESSION->usesPlugin("projectimport")) {
$param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we're calling is the user one
echo ' | ' . $HTML->PrintSubMenu (array ($text),
- array ('/plugins/projectimport/index.php' . $param ));
+ array ('/plugins/projectimport/index.php' . $param ));
}
- } elseif ($hookname == "groupmenu") {
+ } else */ if ($hookname == "groupmenu") {
$group_id=$params['group'];
$project = &group_get_object($group_id);
if (!$project || !is_object($project)) {
} else {
$params['TITLES'][]=$this->text." is [Off]";
$params['DIRS'][]='';
- }
+ }
(($params['toptab'] == $this->name) ? $params['selected']=(count($params['TITLES'])-1) : '' );
- } elseif ($hookname == "groupisactivecheckbox") {
+ } /*elseif ($hookname == "groupisactivecheckbox") {
//Check if the group is active
// this code creates the checkbox in the project edit public info page to activate/deactivate the plugin
$group_id=$params['group'];
echo util_make_link ("/plugins/projectimport/index.php?id=".$group->getID().'&type=admin&pluginname='.$this->name,
_('View the ProjectImport Administration')).'<br />';
}
- }
+ }
elseif ($hookname == "blahblahblah") {
// ...
- }
+ }
+ */
}
+
+ /**
+ * Displays the link in the Project Maintenance part of the Site Admin ('site_admin_project_maintenance_hook' plugin_hook_by_reference() -style hook)
+ * @param array $params for concatenating return value in ['results']
+ */
+ function site_admin_project_maintenance_hook (&$params) {
+ $html = $params['result'];
+ $html .= '<li>'.
+ util_make_link ('/plugins/'.$this->name.'/projectsimport.php',
+ _("Import projects"). ' [' . _('Project import plugin') . ']') .'</li>';
+ $params['result'] = $html;
+ }
+
+ /**
+ * Displays the link in the User Maintenance part of the Site Admin ('site_admin_user_maintenance_hook' plugin_hook_by_reference() -style hook)
+ * @param array $params for concatenating return value in ['results']
+ */
+ function site_admin_user_maintenance_hook (&$params) {
+ $html = $params['result'];
+ $html .= '<li>'.
+ util_make_link ('/plugins/'.$this->name.'/usersimport.php',
+ _("Import users"). ' [' . _('Project import plugin') . ']') .'</li>';
+ $params['result'] = $html;
+ }
+
+
}
// Local Variables: