示例#1
0
 You should have received a copy of the GNU General Public License
 along with Genericobject. If not, see <http://www.gnu.org/licenses/>.
 --------------------------------------------------------------------------
 @package   genericobject
 @author    the genericobject plugin team
 @copyright Copyright (c) 2010-2011 Order plugin team
 @license   GPLv2+
            http://www.gnu.org/licenses/gpl.txt
 @link      https://forge.indepnet.net/projects/genericobject
 @link      http://www.glpi-project.org/
 @since     2009
 ---------------------------------------------------------------------- */
 
include ("../../../inc/includes.php");

if (isset($_GET['itemtype'])) {
   $itemtype = $_GET['itemtype'];
   $types = PluginGenericobjectType::getTypes();
//   $type = new PluginGenericobjectType();
//   $type->getFromDBByType($_GET['itemtype']);
//   Html::redirect(Toolbox::getItemTypeFormURL('PluginGenericobjectType').'?id='.$type->getID());

   Session::checkRight(PluginGenericobjectProfile::getProfileNameForItemtype($itemtype), READ);
   Html::header(__("Type of objects", "genericobject"), $_SERVER['PHP_SELF'], "assets",
                $_GET['itemtype']);
   Search::Show($_GET['itemtype']);

}

Html::footer();
function plugin_genericobject_haveRight($class, $right)
{
    $right_name = PluginGenericobjectProfile::getProfileNameForItemtype($class);
    return Session::haveRight($right_name, $right);
}
示例#3
0
 function showBehaviorForm($ID, $options = array())
 {
     if ($ID > 0) {
         $this->check($ID, READ);
     } else {
         // Create item
         $this->check($ID, CREATE);
         $use_cache = false;
         $this->getEmpty();
     }
     $this->fields['id'] = $ID;
     $right_name = PluginGenericobjectProfile::getProfileNameForItemtype(__CLASS__);
     $canedit = Session::haveRight($right_name, UPDATE);
     self::includeLocales($this->fields["name"]);
     self::includeConstants($this->fields["name"]);
     $this->showFormHeader($options);
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Internal identifier", "genericobject") . "</td>";
     echo "<td>";
     if (!$ID) {
         Html::autocompletionTextField($this, 'name', array('value' => $this->fields["name"]));
     } else {
         echo "<input type='hidden' name='name' value='" . $this->fields["name"] . "'>";
         echo $this->fields["name"];
     }
     echo "</td>";
     echo "<td></td>";
     echo "<td></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Label") . "</td>";
     echo "<td>";
     if ($ID) {
         $itemtype = $this->fields["itemtype"];
         echo $itemtype::getTypeName();
     }
     echo "</td>";
     echo "<td rowspan='3' class='middle right'>" . __("Comments") . "&nbsp;: </td>";
     echo "<td class='center middle' rowspan='3'><textarea cols='45' rows='4'\n             name='comment' >" . $this->fields["comment"] . "</textarea></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Active") . "</td>";
     echo "<td>";
     if (!$ID) {
         echo __("No");
     } else {
         Dropdown::showYesNo("is_active", $this->fields["is_active"]);
     }
     echo "</td></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __("Family of type of objects", 'genericobject') . "</td>";
     echo "<td>";
     PluginGenericobjectTypeFamily::dropdown(array('value' => $this->fields["plugin_genericobject_typefamilies_id"]));
     echo "</td></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td colspan='2'></td>";
     echo "</tr>";
     if (!$this->isNewID($ID)) {
         $canedit = $this->can($ID, CREATE);
         echo "<tr class='tab_bg_1'><th colspan='4'>";
         echo __("Behaviour", "genericobject");
         echo "</th></tr>";
         $use = array("use_recursivity" => __("Child entities"), "use_tickets" => __("Assistance"), "use_deleted" => __("Item in the dustbin"), "use_notepad" => _n('Note', 'Notes', 2), "use_history" => __("Historical"), "use_template" => __("Templates"), "use_infocoms" => __("Financial and administratives information"), "use_contracts" => _n("Contract", "Contracts", 2), "use_documents" => _n("Document", "Documents", 2), "use_loans" => _n("Reservation", "Reservations", 2), "use_global_search" => __("Global search"), "use_projects" => _n("Project", "Projects", 2), "use_network_ports" => __("Network connections", "genericobject"));
         $plugins = array("use_plugin_datainjection" => __("injection file plugin", "genericobject"), "use_plugin_geninventorynumber" => __("geninventorynumber plugin", "genericobject"), "use_plugin_order" => __("order plugin", "genericobject"), "use_plugin_uninstall" => __("item's uninstallation plugin", "genericobject"), "use_plugin_simcard" => __("simcard plugin", "genericobject"));
         $plugin = new Plugin();
         $odd = 0;
         foreach ($use as $right => $label) {
             if (!$odd) {
                 echo "<tr class='tab_bg_2'>";
             }
             echo "<td>" . _sx('button', 'Use') . " " . $label . "</td>";
             echo "<td>";
             switch ($right) {
                 case 'use_deleted':
                     Html::showCheckbox(array('name' => $right, 'checked' => $this->canBeDeleted()));
                     break;
                 case 'use_recursivity':
                     Html::showCheckbox(array('name' => $right, 'value' => $this->canBeRecursive(), 'checked' => $this->canBeRecursive()));
                     break;
                 case 'use_notes':
                     Html::showCheckbox(array('name' => $right, 'checked' => $this->canUseNotepad()));
                     break;
                 case 'use_template':
                     Html::showCheckbox(array('name' => $right, 'checked' => $this->canUseTemplate()));
                     break;
                 default:
                     Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     break;
             }
             echo "</td>";
             if ($odd == 1) {
                 $odd = 0;
                 echo "</tr>";
             } else {
                 $odd++;
             }
         }
         if ($odd != 0) {
             echo "<td></td></tr>";
         }
         echo "<tr class='tab_bg_1'><th colspan='4'>";
         echo _n("Plugin", "Plugins", 2);
         echo "</th></tr>";
         $odd = 0;
         foreach ($plugins as $right => $label) {
             if (!$odd) {
                 echo "<tr class='tab_bg_2'>";
             }
             echo "<td>" . _sx('button', 'Use') . " " . $label . "</td>";
             echo "<td>";
             switch ($right) {
                 case 'use_plugin_datainjection':
                     if ($plugin->isActivated('datainjection')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_datainjection' value='0'>\n";
                     }
                     break;
                 case 'use_plugin_pdf':
                     if ($plugin->isActivated('pdf')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_pdf' value='0'>\n";
                     }
                     break;
                 case 'use_plugin_order':
                     if ($plugin->isActivated('order')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_order' value='0'>\n";
                     }
                     break;
                 case 'use_plugin_uninstall':
                     if ($plugin->isActivated('uninstall')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_uninstall' value='0'>\n";
                     }
                     break;
                 case 'use_plugin_simcard':
                     if ($plugin->isActivated('simcard')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_simcard' value='0'>\n";
                     }
                     break;
                 case 'use_plugin_geninventorynumber':
                     if ($plugin->isActivated('geninventorynumber')) {
                         Html::showCheckbox(array('name' => $right, 'checked' => $this->fields[$right]));
                     } else {
                         echo Dropdown::EMPTY_VALUE;
                         echo "<input type='hidden' name='use_plugin_geninventorynumber' value='0'>\n";
                     }
                     break;
             }
             echo "</td>";
             if ($odd == 1) {
                 $odd = 0;
                 echo "</tr>";
             } else {
                 $odd++;
             }
         }
         if ($odd != 0) {
             echo "<td></td></tr>";
         }
     }
     $this->showFormButtons($options);
 }
示例#4
0
   /**
    * Display object preview form
    * @param type the object type
    */
   static function showPrevisualisationForm(PluginGenericobjectType $type) {
      //Toolbox::logDebug(print_r($type->fields,true));
      $itemtype = $type->fields['itemtype'];
      $item     = new $itemtype();

      $right_name = PluginGenericobjectProfile::getProfileNameForItemtype(
         $itemtype
      );
      if (Session::haveRight($right_name, READ)) {
         $item->showForm(-1, array(), true);
      } else {
         echo "<br><strong>" . __("You must configure rights to enable the preview",
                                  "genericobject") . "</strong><br>";
      }
   }
示例#5
0
 static function getMenuContent()
 {
     $types = PluginGenericobjectType::getTypes();
     foreach ($types as $type) {
         $itemtype = $type['itemtype'];
         $item = new $itemtype();
         $itemtype_rightname = PluginGenericobjectProfile::getProfileNameForItemtype($itemtype);
         if (class_exists($itemtype) && Session::haveRight($itemtype_rightname, READ)) {
             $links = array();
             $links['search'] = $itemtype::getSearchUrl(false);
             if ($item->canUseTemplate()) {
                 $links['template'] = "/front/setup.templates.php?itemtype={$itemtype}&amp;add=0";
                 if (Session::haveRight($itemtype_rightname, CREATE)) {
                     $links['add'] = "/front/setup.templates.php?itemtype={$itemtype}&amp;add=1";
                 }
             } else {
                 if (Session::haveRight($itemtype_rightname, CREATE)) {
                     $links['add'] = $itemtype::getFormUrl(false);
                 }
             }
             // $menu[strtolower($itemtype)] = array('title' => $type['itemtype']::getMenuName(),
             //                                      'page'  => $itemtype::getSearchUrl(false));
             if ($type['plugin_genericobject_typefamilies_id'] > 0 && (!isset($_GET['itemtype']) || !preg_match("/itemtype=" . $_GET['itemtype'] . "/", $_GET['itemtype']))) {
                 $family_id = $type['plugin_genericobject_typefamilies_id'];
                 $name = Dropdown::getDropdownName("glpi_plugin_genericobject_typefamilies", $family_id, 0, false);
                 $str_name = strtolower($name);
                 $menu[$str_name]['title'] = Dropdown::getDropdownName("glpi_plugin_genericobject_typefamilies", $family_id);
                 $menu[$str_name]['page'] = '/plugins/genericobject/front/familylist.php?id=' . $family_id;
                 $menu[$str_name]['options'][strtolower($itemtype)] = array('title' => $type['itemtype']::getMenuName(), 'page' => $itemtype::getSearchUrl(false), 'links' => $links);
             } else {
                 $menu[strtolower($itemtype)] = array('title' => $type['itemtype']::getMenuName(), 'page' => $itemtype::getSearchUrl(false), 'links' => $links);
             }
         }
     }
     $menu['is_multi_entries'] = true;
     return $menu;
 }
示例#6
0
 You should have received a copy of the GNU General Public License
 along with Genericobject. If not, see <http://www.gnu.org/licenses/>.
 --------------------------------------------------------------------------
 @package   genericobject
 @author    the genericobject plugin team
 @copyright Copyright (c) 2010-2011 Order plugin team
 @license   GPLv2+
            http://www.gnu.org/licenses/gpl.txt
 @link      https://forge.indepnet.net/projects/genericobject
 @link      http://www.glpi-project.org/
 @since     2009
 ---------------------------------------------------------------------- */
include "../../../inc/includes.php";
Session::checkRight("profile", UPDATE);
_log($_POST);
$prof = new Profile();
/* save profile */
if (isset($_POST['update_all_rights']) && isset($_POST['itemtype'])) {
    $profiles = array();
    foreach ($_POST as $key => $val) {
        if (preg_match("/^profile_/", $key)) {
            $id = preg_replace("/^profile_/", "", $key);
            $profiles[$id] = array("id" => $id, "_" . PluginGenericobjectProfile::getProfileNameForItemtype($_POST['itemtype']) => $val);
        }
    }
    _log($profiles);
    foreach ($profiles as $profile_id => $input) {
        $prof->update($input);
    }
}
Html::redirect($_SERVER['HTTP_REFERER']);