function admin_add() {
$client_id=$_SESSION['User']['id'];
$this->set('client_id',$client_id);
$conditions=array('client_id'=>$client_id);
if (empty($this->data)) {
$this->set('addFieldGroups', $this->AddField->AddFieldGroup->find('list', array('conditions'=>$conditions, 'fields'=>array('id', 'name'))));
$id='new';
if($id)
{
$conditions=array('AddFieldOption.add_fields_id'=>intval($id));
$option_array =$this->AddFieldOption->findAll($conditions, null, 'AddFieldOption.order ASC');
// mehrere Optionen [max. 10, dann speichern]
$option_array['new']=array('AddFieldOption');
$option_array['new']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_1']=array('AddFieldOption');
$option_array['new_1']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_2']=array('AddFieldOption');
$option_array['new_2']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_3']=array('AddFieldOption');
$option_array['new_3']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_4']=array('AddFieldOption');
$option_array['new_4']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_4']=array('AddFieldOption');
$option_array['new_4']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_5']=array('AddFieldOption');
$option_array['new_5']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_6']=array('AddFieldOption');
$option_array['new_6']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_7']=array('AddFieldOption');
$option_array['new_7']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_8']=array('AddFieldOption');
$option_array['new_8']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_9']=array('AddFieldOption');
$option_array['new_9']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$this->set('add_options', $option_array);
}
$this->render();
} else {
if(isset($this->data['AddField']['id']))
{
unset($this->data['AddField']['id']);
}
//print_r($this->data);
if ($this->AddField->save($this->data))
{
$newoption_array=array('new', 'new_1', 'new_2', 'new_3', 'new_4', 'new_5', 'new_6', 'new_7', 'new_8');
if(isset($this->data['AddFieldOption']) && is_array($this->data['AddFieldOption']))
{
foreach($this->data['AddFieldOption'] as $option)
{ $addFieldOption=$option;
if(in_array($addFieldOption['id'], $newoption_array))
{
unset($addFieldOption['id']);
unset($addFieldOption['duration']);
}
if(!isset($addFieldOption['active']))
{
$addFieldOption['active']=0;
}
$addFieldOption['add_fields_id']=$this->AddField->id;
if($this->AddFieldOption->save($addFieldOption))
{
$this->AddFieldOption->id = false;
}
}
}
$this->Session->setFlash(__("be_add_field_save",true));
$this->redirect('/admin/AddFields/index');
} else {
//print_r($this->data);
$this->Session->setFlash(__("be_error",true));
$this->set('clients', $this->Client->find('list'));
$this->set('addFieldGroups', $this->AddFieldGroup->find('list',array('conditions'=>$conditions)));
}
}
}
function admin_edit($id = null) {
$client_id=$_SESSION['User']['id'];
$this->set('client_id',$client_id);
$add_options=array();
$this->set('add_options',$add_options);
$redirect_string='/admin*add_fields*edit*'.$id;
if (empty($this->data)) {
if (!$id) {
$this->Session->setFlash(__("be_error_id" ,true));
$this->redirect('/admin/add_fields/index');
}
$this->data = $this->AddField->read(null, $id);
$this->set('clients', $this->Client->find('list'));
// wohin nach loeschen weitergeleitet?
$redirect_string='/admin*add_fields*edit*'.$id;
$this->set('redirect_string',$redirect_string);
$dummy_array=$this->AddField->AddFieldGroup->find('list',array('conditions'=>array('client_id'=>$client_id), 'fields'=>array('id', 'name')));
$this->set('addFieldGroups', $dummy_array);
if($id>0)
{
$conditions=array('AddFieldOption.add_fields_id'=>intval($id));
$option_array =$this->AddFieldOption->findAll($conditions, null, 'AddFieldOption.order ASC');
// mehrere Optionen [max. 10, dann speichern]
$option_array['new']=array('AddFieldOption');
$option_array['new']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_1']=array('AddFieldOption');
$option_array['new_1']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_2']=array('AddFieldOption');
$option_array['new_2']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_3']=array('AddFieldOption');
$option_array['new_3']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_4']=array('AddFieldOption');
$option_array['new_4']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_4']=array('AddFieldOption');
$option_array['new_4']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_5']=array('AddFieldOption');
$option_array['new_5']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_6']=array('AddFieldOption');
$option_array['new_6']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_7']=array('AddFieldOption');
$option_array['new_7']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_8']=array('AddFieldOption');
$option_array['new_8']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$option_array['new_9']=array('AddFieldOption');
$option_array['new_9']['AddFieldOption']=array('add_fields_id'=>$id, 'name'=>'', 'value'=>'', 'attr'=>'', 'active'=>'', 'order'=>'');
$this->set('add_options', $option_array);
}
} else {
if($this->AddField->save($this->data)){
$newoption_array=array('new', 'new_1', 'new_2', 'new_3', 'new_4', 'new_5', 'new_6', 'new_7', 'new_8');
if(isset($this->data['AddFieldOption']) && is_array($this->data['AddFieldOption']))
{
foreach($this->data['AddFieldOption'] as $option)
{ $addFieldOption=$option;
if(in_array($addFieldOption['id'], $newoption_array))
{
unset($addFieldOption['id']);
unset($addFieldOption['duration']);
}
if(!isset($addFieldOption['active']))
{
$addFieldOption['active']=0;
}
if($this->AddFieldOption->save($addFieldOption))
{
$this->AddFieldOption->id = false;
}
}
}
$this->Session->setFlash(__("be_add_field_save",true));
$this->redirect('/admin/add_fields/index');
}
else {
$this->Session->setFlash(__("be_error",true));
$this->set('clients', $this->Client->find('list'));
$dummy=$this->AddFieldGroup->find('list');
$this->set('addFieldGroups', $dummy);
}
}
}