LAM tools
This commit is contained in:
parent
542a0c0e9e
commit
5a217af530
|
@ -0,0 +1,123 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes functions to manage LAM tools.
|
||||
*
|
||||
* @package tools
|
||||
* @author Roland Gruber
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns the tools which are available for LAM.
|
||||
*
|
||||
* @return array list of LAMtool classes
|
||||
*/
|
||||
function getTools() {
|
||||
$toolsDirName = dirname(__FILE__) . '/tools';
|
||||
$toolsDir = dir($toolsDirName);
|
||||
$entry = $toolsDir->read();
|
||||
// include all files in the tools directory
|
||||
while ($entry) {
|
||||
if ((substr($entry, strlen($entry) - 4, 4) == '.inc') && is_file($toolsDirName . '/'.$entry)) {
|
||||
include_once($toolsDirName . '/'.$entry);
|
||||
}
|
||||
$entry = $toolsDir->read();
|
||||
}
|
||||
// find tools classes
|
||||
$classList = get_declared_classes();
|
||||
$return = array();
|
||||
for ($i = 0; $i < sizeof($classList); $i++) {
|
||||
if (in_array('LAMTool', class_implements($classList[$i]))) {
|
||||
$return[] = $classList[$i];
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a tool.
|
||||
* LAM will scan lib/tools/*.inc for classes which implement this interface. There will be an
|
||||
* entry on the tools page inside LAM for each found class (if it matches the security level).
|
||||
* A LAMTool only specifies name, description and location of a tool. The tool functionality
|
||||
* is provided by the target page.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
interface LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName();
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription();
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink();
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess();
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights();
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink();
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition();
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the file upload tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* File upload
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolFileUpload implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("File upload");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("Creates accounts by uploading a CSV formated file.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "masscreate.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'up.gif';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 200;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the OU editor tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* OU editor
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolOUEditor implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("OU editor");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("Manages OU objects in your LDAP tree.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "ou_edit.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'ou.png';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 300;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the PDF editor tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* PDF editor
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolPDFEditor implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("PDF editor");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("This tool allows you to customize the PDF pages.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "pdfedit/pdfmain.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'pdf.png';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 400;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the profile editor tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* Profile editor
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolProfileEditor implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("Profile editor");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("Here you can manage your account profiles.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "profedit/profilemain.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'edit.png';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 100;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the schema browser tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* Schema browser
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolSchemaBrowser implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("Schema browser");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("Here you can browse LDAP object classes and attributes.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "schema/schema.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'schemaBrowser.png';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 500;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
/*
|
||||
$Id$
|
||||
|
||||
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
|
||||
Copyright (C) 2009 Roland Gruber
|
||||
|
||||
This program 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.
|
||||
|
||||
This program 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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file includes the test tool specification.
|
||||
*
|
||||
* @author Roland Gruber
|
||||
* @package tools
|
||||
*/
|
||||
|
||||
/**
|
||||
* Tests page
|
||||
*
|
||||
* @package tools
|
||||
*/
|
||||
class toolTests implements LAMTool {
|
||||
|
||||
/**
|
||||
* Returns the name of the tool.
|
||||
*
|
||||
* @return string name
|
||||
*/
|
||||
function getName() {
|
||||
return _("Tests");
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a description text for the tool.
|
||||
*
|
||||
* @return string description
|
||||
*/
|
||||
function getDescription() {
|
||||
return _("Here you can test if certain LAM features work on your installation.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a link to the tool page (relative to templates/).
|
||||
*
|
||||
* @return string link
|
||||
*/
|
||||
function getLink() {
|
||||
return "tests/index.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires write access to LDAP.
|
||||
*
|
||||
* @return boolean true if write access is needed
|
||||
*/
|
||||
function getRequiresWriteAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the tool requires password change rights.
|
||||
*
|
||||
* @return boolean true if password change rights are needed
|
||||
*/
|
||||
function getRequiresPasswordChangeRights() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the link to the tool image (relative to graphics/)
|
||||
*
|
||||
* @return string image URL
|
||||
*/
|
||||
function getImageLink() {
|
||||
return 'tests.png';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the prefered position of this tool on the tools page.
|
||||
* The position may be between 0 and 1000. 0 is the top position.
|
||||
*
|
||||
* @return int prefered position
|
||||
*/
|
||||
function getPosition() {
|
||||
return 600;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue