<?// include_once(_DIR_TO_ENGINE.'/admin/i_setup.php') ;

class clss_101 extends clss_0
{
  function obj_create_dialog()
   {  $form_id='form_obj_create_dialog_clss_'.$this->clss ;
      $set_table_base='obj_'.SITE_CODE.'_' ;
       ?><form method="POST" action="ajax.php" id=<?echo $form_id?>><table>
               <tr class=clss_header><td colspan=3>Создание объектной таблицы</td></tr>
               <tr class=td_header>
                     <td>Наименование</td>
                     <td>Имя таблицы</td>
                     <td>Список поддерживаемых классов<br>(через запятую)</td>
               </tr>
               <tr> <td><input name="set_table_title" id=set_table_title type=text class=text  value="" size=30></td>
                     <td><?echo $set_table_base?><input name="set_table_suff" id=set_table_suff type=text class=text  value="" size=30></td>
                     <td><input name="set_table_clss" id=set_table_clss type=text class=text  value="" size=30></td>
                </tr>
             </table>
             <input name="set_table_base" type="hidden" value="<?echo $set_table_base?>">
             <!--<input name="inc_img" type="checkbox" value="1"> Добавить поддержку фото &nbsp;&nbsp;&nbsp;&nbsp;
             <input name="inc_file" type="checkbox" value="1"> Добавить поддержку файлов<br><br>-->
             <button class=button_green mode=append_viewer_main cmd=create_obj_after_dialog clss="101" parent_reffer="<?echo $_POST['parent_reffer']?>">Создать</button>
             <br/>
         </form>
       <?
       return(0) ; // далеее не производить вывод по пункту меню
   }

 // выполнение создания объекта по результатам диалога
  function create_obj_after_dialog()
  { // создание объектной таблицы
    // set_table_title: заголовок таблицы
    // set_table_base: базовая часть имени таблицы
    // set_table_suff: изменяемая часть имени таблицы
    // set_table_clss: классы, поддерживаемые аблицей
    $_POST['set_table_suff']=safe_file_names($_POST['set_table_suff']) ;
    if (!$_POST['set_table_clss']) $_POST['set_table_clss']='1' ;
    $def_recs[]=array('parent'=>0,'clss'=>1,'enabled'=>1,'obj_name'=>'Корень каталога','indx'=>1);
    list($parent_id,$tkey)=explode('.',$_POST['parent_reffer']) ;
    $new_table_options=array(   'table_parent'  =>$parent_id,
                                'table_clss'    =>101,
                                'table_title'   =>$_POST['set_table_title'],
                                'table_name'    =>$_POST['set_table_base'].$_POST['set_table_suff'],
                                'use_clss'      =>$_POST['set_table_clss'],
                                'def_recs'      =>$def_recs
                             ) ;
    $new_table_id=create_DOT_object_table($new_table_options) ;
    if ($new_table_id) echo '<span class=green>Создание таблицы завершено</span>' ;
    if ($_POST['inc_img'])
    {

    }
    return('ok') ;
  }

 // реакция на событие удаления объекта - у каждого класса должно выражаться по своему
 function on_delete_event($obj_info,$options=array())
  { if (!$options['debug']) delete_object_table($obj_info['pkey']) ;
    parent::on_delete_event($obj_info,$options) ;
  }





     }





 // возщает select со списоком полей класса, доступных для мультиязыности - для поля класса 105
 function get_clss_text_fields(&$rec,$tkey,$pkey,$options,$fname)
  { $parent_rec=execSQL_van('select indx from obj_descr_obj_tables where clss=104 and pkey='.$rec['parent']) ;
    $clss=$parent_rec['indx'] ;
    $obj_clss=_CLSS($clss);
    $element_name="obj[".$rec['tkey']."][".$rec['clss']."][".$rec['pkey']."][obj_name]" ;
    $text='<select size="1" name="'.$element_name.'"><option value=""></option>' ;
    if (_sizeof($obj_clss->fields)) foreach($obj_clss->fields as $fname=>$ftype)
        if (strpos($ftype,'varchar')!==false or strpos($ftype,'text')!==false)
        {   $title=$obj_clss->view['details']['field'][$fname]['title'] ;
            if (!$title) $title=$obj_clss->view['list']['field'][$fname]['title'] ;
            if (!$title) $title=$fname ; else $title.=' ('.$fname.')' ;
            $selected=($rec['obj_name']==$fname)? 'selected':'' ;
        	$text.='<option value="'.$fname.'" '.$selected.'>'.$title.'</option>' ;
        }
    $text.='</select>' ;
    return($text);
  }



 function cmd_exe_add_check_class()
 { global $add_to_sostav,$pkey ;
   if (_sizeof($add_to_sostav)) foreach ($add_to_sostav as $clss=>$value) adding_rec_to_table('obj_descr_obj_tables',array('parent'=>$pkey,'clss'=>104,'enabled'=>1,'indx'=>$clss)) ;
   include_once(_DIR_EXT.'/db/i_table_checked.php') ;
   table_checked($pkey) ;
 }







?>
