<?php
/*
* Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
* This program is free software distributed under the GPL version 2.
* See http://gpl.openslx.org/
*
* If you have any feedback please consult http://feedback.openslx.org/ and
* send your suggestions, praise, or complaints to feedback@openslx.org
*
* General information about OpenSLX can be found at http://openslx.org/
*/
class user_Form_RoleAdd extends Zend_Form
{
private $rightlist;
private $inheritanceright;
private $addrighttoroleright;
public function setRightlist($rightlist){
$this->rightlist = $rightlist;
}
public function setAddrighttoroleright($addrighttoroleright){
$this->addrighttoroleright = $addrighttoroleright;
}
public function setInheritanceright($inheritanceright){
$this->inheritanceright = $inheritanceright;
}
public function init()
{
$this->setName("RoleAdd");
$this->setMethod('post');
$this->addElement('text', 'title', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 50)),
),
'required' => true,
'label' => 'Title:',
));
$this->addElement('text', 'title', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 50)),
),
'required' => false,
'label' => 'Title:',
));
$this->addElement('text', 'description', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 140)),
),
'required' => false,
'label' => 'Description:',
'value' => $_POST['description'],
));
if($this->addrighttoroleright) {
$sform = new Zend_Form_SubForm(array('legend' => 'Rights:'));
$sform->addElement('button', 'checkAll', array(
'required' => false,
'ignore' => true,
'label' => 'Check All',
'class' => 'leftbutton',
'onclick' => "checkAllCheckBoxes(new Array('inheritance'));",
));
$sform->addElement('button', 'uncheckAll', array(
'required' => false,
'ignore' => true,
'label' => 'Uncheck All',
'onclick' => "uncheckAllCheckBoxes(new Array('inheritance'));",
));
if(count($this->rightlist) > 0) {
foreach($this->rightlist as $rightcategory => $rights) {
foreach($rights as $rightID => $rightTitle) {
$element = $this->createElement('checkbox', "$rightID", array(
'label' => $rightTitle . ':',
'belongsTo' => 'rights',
));
$elements[] = $rightID;
$sform->addElement($element);
}
$sform->addDisplayGroup($elements, "$rightcategory", array("legend" => $rightcategory . ":"));
unset($elements);
}
}
$this->addSubForm($sform, 'rights');
}
if($this->inheritanceright) {
$this->addElement('checkbox', 'inheritance', array(
'label' => 'Inheritance:',
));
}
$this->addElement('submit', 'add', array(
'required' => false,
'ignore' => true,
'label' => 'Add',
));
$this->addElement('button', 'cancel', array(
'required' => false,
'ignore' => true,
'label' => 'Cancel',
'onclick' => 'location.href="javascript:history.back();"',
));
}
}