Beispiel #1
0
 public static function doRedirectAfterSubmit($operation = 'edit')
 {
     if (Tools::getValue('class_name')) {
         $class_name = UN_ObjectModel::getClassNameById(Tools::getValue('class_name'));
         if (Tools::getValue('parent_class')) {
             //file_put_contents('$_GET.txt', print_r( $_GET , true));
             //file_put_contents('$_POST.txt', print_r( $_POST , true));
             $parent_class_name = UN_ObjectModel::getClassNameById(Tools::getValue('parent_class'));
             $vars_string = '';
             foreach ($parent_class_name::$un_definition['child_classes'][$class_name]['fields_blocked'] as $t_field_name) {
                 $t_var = $t_field_name . '=' . Tools::getValue($t_field_name);
                 //echo $t_var.' - '.substr_count($vars_string, $t_var).'<br />';
                 if (substr_count($vars_string, $t_var) == 0) {
                     if (!($vars_string == '')) {
                         $vars_string .= '&';
                     }
                     $vars_string .= $t_var;
                 }
             }
             if (Tools::getValue($parent_class_name::$un_definition['primary'])) {
                 $t_var = $parent_class_name::$un_definition['primary'] . '=' . Tools::getValue($parent_class_name::$un_definition['primary']);
                 //echo $t_var.' - '.substr_count($vars_string, $t_var).'<br />';
                 if (substr_count($vars_string, $t_var) == 0) {
                     if (!($vars_string == '')) {
                         $vars_string .= '&';
                     }
                     $vars_string .= $t_var;
                 }
             }
             //file_put_contents('$vars_string.txt', print_r( $vars_string , true));
             $controller = $parent_class_name::$un_definition['controller_name'];
             $operation = '&operation=edit';
             $url = 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER['PHP_SELF'] . '?controller=' . $controller . $operation . '&' . $vars_string;
             //   file_put_contents('$url.txt', print_r( $url , true));
             header('Location: ' . $url);
             exit;
         }
         $controller = $class_name::$un_definition['controller_name'];
         $url = 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER['PHP_SELF'] . '?controller=' . $controller;
         //file_put_contents('$url1.txt', print_r( $url , true));
         header('Location: ' . $url);
         exit;
     }
 }
Beispiel #2
0
 public function runController($controller_name)
 {
     $basePath = _UN_CONTROLLERS_URI_;
     //_UN_CONTROLLERS_URI_
     if ($controller_name == '') {
         return false;
     }
     $CLASS_NAME = UN_ObjectModel::getClass($controller_name);
     if (!$CLASS_NAME) {
         die('Controller name "' . $controller_name . '" not found in db table "class_install!"');
     }
     if (isset($CLASS_NAME::$un_definition['controller_call']) && $CLASS_NAME::$un_definition['controller_call']) {
         $t_path = $basePath . $CLASS_NAME::$un_definition['controller_call'] . '.php';
     } else {
         $t_path = $basePath . 'un_objects_common.inc' . '.php';
     }
     if (file_exists($t_path)) {
         $this->controller_name = $controller_name;
         require $t_path;
     } else {
         die('Controller file not found: ' . $t_path);
     }
 }
 public function __construct()
 {
     parent::__construct();
 }
Beispiel #4
0
 public function makeList()
 {
     $html = '';
     $CONTROLLER_NAME = $this->class_definition['controller_name'];
     $OPERATION = 'edit';
     $CLASS_NAME = $this->class_definition['class_name'];
     $PRIMARY = $this->class_definition['primary'];
     $TITLE = '';
     $TITLE .= $this->class_definition['title'];
     $PARENT_VARS = $this->parent_vars;
     /*     
          if($PARENT_VARS['parent_class'])
              $TITLE = $PARENT_VARS['parent_class']::$un_definition['title'].' <i class="icon-double-angle-right"></i> '.$TITLE;
     */
     $html .= '<div class="list title h3">Класс "' . $TITLE . '"</div>';
     $html .= '<a class="wrap_block wrap" targ="div#list_table_' . $CLASS_NAME . '" id="wrap_edit_form" href=""><i class="icon-eye-open"></i></a>';
     // ADD BUTTON
     $t_link_obj = new UN_Link('button add', array('controller' => $CONTROLLER_NAME, 'operation' => 'add'), '<i class="icon-plus-sign"></i>', 'добавить "' . $TITLE . '"');
     $t_link_obj->addVars($PARENT_VARS);
     $html .= $t_link_obj->getLink();
     $html .= '<div class="table-responsive clearfix" id="list_table_' . $CLASS_NAME . '">';
     $html .= '<table class="table ' . $CONTROLLER_NAME . '">';
     // HEAD
     $html .= '<thead>';
     // title box
     $html .= '<tr class="nodrag nodrop">';
     $html .= '<th class="text-center operate" width="30"></th>';
     foreach ($this->class_definition['fields'] as $field => $t_data) {
         if ($t_data['list_data']['show_in_list']) {
             $width = $t_data['list_data']['width'] ? ' width="' . $t_data['list_data']['width'] . '"' : '';
             $html .= '<th class="text-center"' . $width . '>';
             $html .= '<span class="title_box" title="' . $t_data['list_data']['hint'] . '">';
             if ($t_data['field_type'] == 'link') {
                 $html .= $t_data['class_name']::$un_definition['title'];
             } else {
                 $html .= $t_data['list_data']['title'];
             }
             if ($t_data['list_data']['sort']) {
                 $html .= '<span class="sort-arrows">';
                 // OBJECT SORT LINKS
                 $t_link_obj = new UN_Link('', array('controller' => $CONTROLLER_NAME, 'orderBy' => $field, 'orderWay' => 'desc'), '<i class="icon-caret-down"></i>', 'по убыванию');
                 //$t_link_obj->addVars($PARENT_VARS);
                 $html .= $t_link_obj->getLink();
                 $t_link_obj = new UN_Link('', array('controller' => $CONTROLLER_NAME, 'orderBy' => $field, 'orderWay' => 'asc'), '<i class="icon-caret-up"></i>', 'по возрастанию');
                 //$t_link_obj->addVars($PARENT_VARS);
                 $html .= $t_link_obj->getLink();
                 $html .= '</span>';
             }
             $html .= '</span>';
             $html .= '</th>';
         }
     }
     $html .= '<th class="space"></th></tr>';
     // filter box
     $html .= '<tr class="nodrag nodrop filter row_hover">';
     $html .= '<th class="text-center operate"></th>';
     foreach ($this->class_definition['fields'] as $field => $t_data) {
         if ($t_data['list_data']['show_in_list']) {
             $width = $t_data['list_data']['width'] ? ' style="max-width:' . $t_data['list_data']['width'] . 'px"' : '';
             $html .= '<th class="text-center">';
             if ($t_data['list_data']['filter']) {
                 if ($t_data['list_data']['type'] == 'text') {
                     $html .= '<input type="text" name="' . $CONTROLLER_NAME . 'Filter_' . $field . '"' . $width . '>';
                     $html .= '</input>';
                 }
             }
             $html .= '</th>';
         }
     }
     $html .= '<th class="space"></th></tr>';
     $html .= '</thead>';
     // BODY
     $html .= '<tbody>';
     $odd = true;
     if (empty($this->list_data)) {
         $html .= '<tr><td colspan="' . count($this->class_definition['fields']) . '" class="text-center h2">NO ITEMS</td></tr>';
     } else {
         foreach ($this->list_data as $key => $t_row) {
             // prepair to transfer fields for child classes
             $LINKED_FIELDS = array();
             $LINKED_FIELDS[$PRIMARY] = $t_row[$PRIMARY];
             $t_obj = new $CLASS_NAME();
             //file_put_contents($key.'-row-before.txt', print_r($t_row, true));
             $row = $t_obj::getRowValues($t_row);
             //file_put_contents($key.'-row-after.txt', print_r($row, true));
             $html .= '<tr class="pointer' . ($odd ? " odd" : "") . '">';
             $html .= '<td class="text-center operation-delete" title="DELETE">';
             // DELETE ROW ICON LINK
             $LINKED_FIELDS['controller'] = $CONTROLLER_NAME;
             $LINKED_FIELDS['operation'] = 'delete';
             $t_link_obj = new UN_Link('', $LINKED_FIELDS, '<i class="icon-remove-sign"></i>');
             $t_link_obj->addVars($PARENT_VARS);
             $html .= $t_link_obj->getLink();
             $html .= '</td>';
             foreach ($this->class_definition['fields'] as $field => $t_data) {
                 if ($t_data['list_data']['show_in_list']) {
                     switch ($t_data['field_type']) {
                         case 'composit_name':
                             $t_value = '';
                             //$t_value = UN_ObjectModel::getCompositName($this->class_definition, $row, $field);
                             //$t_value = UN_ObjectModel::getCompositNameValue( $row, $field, $this->class_definition['fields'][$field] );
                             $t_value = UN_ObjectModel::getCompositName($this->class_definition, $row, $field);
                             $row[$field] = $t_value;
                             //$t_value = UN_ObjectModel::getFieldValue($row, $field, $CLASS_NAME );
                             $html .= '<td class="pointer text-center field_' . $field . ($t_data['list_data']['editable'] ? " edit" : "") . '">';
                             // OBJECT ROW LINK
                             $LINKED_FIELDS['controller'] = $CONTROLLER_NAME;
                             $LINKED_FIELDS['operation'] = $OPERATION;
                             $t_link_obj = new UN_Link('', $LINKED_FIELDS, $t_value);
                             $t_link_obj->addVars($PARENT_VARS);
                             $html .= $t_link_obj->getLink();
                             $html .= '</td>';
                             break;
                         case 'association':
                             break;
                         default:
                             if (array_key_exists('data_type', $t_data) && $t_data['data_type'] == 'boolean') {
                                 $html .= '<td class="pointer text-center field_' . $field . ($t_data['list_data']['editable'] ? " edit" : "") . '">';
                                 if (array_key_exists('show_values', $t_data['list_data']) && !empty($t_data['list_data']['show_values'])) {
                                     $t_anchor = $row[$field];
                                 } else {
                                     $t_anchor = '<input class="list_data_field" type="checkbox" align="LEFT" disabled="disabled" 
                                                     ' . ((bool) $row[$field] ? ' checked="checked"' : '') . ' 
                                                     name="id_' . $row[$PRIMARY] . '_' . $field . '" id="id_' . $row[$PRIMARY] . '_' . $field . '" />';
                                 }
                                 // OBJECT ROW LINK
                                 $LINKED_FIELDS['controller'] = $CONTROLLER_NAME;
                                 $LINKED_FIELDS['operation'] = $OPERATION;
                                 $t_link_obj = new UN_Link('', $LINKED_FIELDS, $t_anchor);
                                 $t_link_obj->addVars($PARENT_VARS);
                                 $html .= $t_link_obj->getLink();
                                 $html .= '</td>';
                             } else {
                                 $html .= '<td class="pointer text-center field_' . $field . ($t_data['list_data']['editable'] ? " edit" : "") . '">';
                                 $t_anchor = $row[$field];
                                 //$t_anchor = $t_obj::getFieldValue($row, $field, $CLASS_NAME );
                                 // OBJECT ROW LINK
                                 $LINKED_FIELDS['controller'] = $CONTROLLER_NAME;
                                 $LINKED_FIELDS['operation'] = $OPERATION;
                                 $t_link_obj = new UN_Link('', $LINKED_FIELDS, $t_anchor);
                                 $t_link_obj->addVars($PARENT_VARS);
                                 $html .= $t_link_obj->getLink();
                                 $html .= '</td>';
                             }
                             break;
                     }
                 }
             }
             $html .= '<td class="space"></td></tr>';
             $odd = !$odd;
         }
     }
     $html .= '</tbody>';
     $html .= '</table>';
     $html .= '</div>';
     $this->result = $html;
     return $html;
 }
    } elseif (Tools::getValue($this->controller_name . '_form_submit') && Tools::getValue('operation') == 'edit_submit') {
        $data = UN_Tools::getObjectDataFromSubmit($OBJECT);
        //file_put_contents('$data.txt', print_r( $data , true));
        $OBJECT->save_item($data, Tools::getValue('object_id'), $OBJECT::$un_definition['class_name']);
        //file_put_contents('$data.txt', print_r( $data , true));
        $this->add('edit ok');
        $SHOW_LIST = true;
        UN_Tools::doRedirectAfterSubmit();
        //UN_Tools::redirectAfterSubmit();
        //exit;
    } elseif (Tools::getValue('operation') == 'delete') {
        $OBJECT->delete_item_by_id(Tools::getValue($CLASS_PRIMARY));
        $this->add('delete ok');
        $SHOW_LIST = true;
        //echo 'DELETE!!!!';
        $_GET['class_name'] = UN_ObjectModel::getClassIdByName($CLASS_NAME);
        UN_Tools::doRedirectAfterSubmit();
    } elseif (Tools::getValue('operation') == 'list') {
        $SHOW_LIST = true;
    }
} else {
    $SHOW_LIST = true;
}
if ($SHOW_LIST) {
    // JUST LIST OF OBJECTS
    //$PARENT_VARS = UN_Tools::getParentVars();
    //$t_list_condition = UN_Tools::getConditionWithObjectId($CLASS_NAME);
    UN_Tools::doRedirectAfterSubmit();
    //UN_Tools::redirectAfterSubmit();
    $object_list = $OBJECT->getList(false, true);
    $this->addToHead($OBJECT->validation_vars());
<?php

require_once dirname(__FILE__) . '/../config/config.inc.php';
$action = Tools::getValue('action');
$class_name = UN_ObjectModel::getClassNameById(Tools::getValue('class_name'));
$data = Tools::getValue('data');
//file_put_contents('post.txt', print_r($_POST, true));
if ($action == 'validation') {
    if (!($class_name == '')) {
        $class_obj = new $class_name();
        $valid_res = $class_obj::validation_procedure($data);
        die(json_encode($valid_res));
    }
}
Beispiel #7
0
 public function makeForm()
 {
     $FORM_NAME = $this->class_definition['controller_name'] . '_form';
     $CONTROLLER_NAME = $this->class_definition['controller_name'];
     $CLASS_NAME = $this->class_definition['class_name'];
     $CLASS_PRIMARY = $this->class_definition['primary'];
     $PARENT_VARS = $this->parent_vars;
     $FIELDS_BLOCKED = $this->fields_blocked;
     $PARENT_CLASS_NAME = Tools::getValue('parent_class') ? UN_ObjectModel::getClassNameById(Tools::getValue('parent_class')) : '';
     $html = '<div class="clearfix">';
     $html .= '<div><a class="link_back button" href="" onclick="history.back();"><i class="icon-arrow-left"></i> назад</a>';
     $html .= '<a class="wrap_block wrap" targ="form.edit_form" id="wrap_edit_form"><i class="icon-eye-open"></i></a></div>';
     if (!($PARENT_CLASS_NAME == '')) {
         $t_name = UN_ObjectModel::getGeneralAttribute($this->object_data[$CLASS_PRIMARY]);
         $html .= '<div class="title h2">' . $PARENT_CLASS_NAME::$un_definition['title'] . ' ' . ($t_name ? $t_name : '') . '<i class="icon-double-angle-right"></i></div>';
     }
     $html .= '<script>var page_operation="' . $this->operation . '"</script>';
     $html .= '<div id="msgOutput"></div>';
     $html .= '<form class="edit_form" action="' . $_SERVER['PHP_SELF'] . '?controller=' . $CONTROLLER_NAME . '" method="post" 
         name="' . $FORM_NAME . '" id="' . $FORM_NAME . '">';
     //$html .= '<fieldset>';
     if ($this->operation == 'edit') {
         $html .= '<div class="title h2"> Редактировать "' . $this->class_definition['title'] . '"</div>';
     }
     if ($this->operation == 'add') {
         $html .= '<div class="title h2"> Создать "' . $this->class_definition['title'] . '"</div>';
     }
     if (!empty($PARENT_VARS)) {
         foreach ($PARENT_VARS as $name => $value) {
             $html .= '<input type="hidden" value="' . $value . '" name="' . $name . '" id="' . $name . '" />';
         }
     }
     $html .= '<input type="hidden" value="' . UN_ObjectModel::getClassIdByName($CLASS_NAME) . '" name="class_name" id="class_name" />';
     $html .= '<input type="hidden" value="' . $this->operation . '_submit" name="operation" id="operation" />';
     if ($this->operation == 'edit') {
         $html .= '<input type="hidden" value="' . $this->object_data[$this->class_definition['primary']] . '" 
                     name="object_id" id="' . $this->class_definition['primary'] . '" />';
     }
     $html .= '<table cellpadding="0" cellspacing="0" border="0"><tbody>';
     foreach ($this->class_definition['fields'] as $field_name => $field_data) {
         $CLASS_ADD = '';
         $DISABLED = '';
         $LOCK_ICON_HTML = '';
         if (in_array($field_name, $FIELDS_BLOCKED, true)) {
             $CLASS_ADD .= ' nochoice';
         }
         if ($field_name == $CLASS_PRIMARY) {
             $CLASS_ADD .= ' parent_primary';
         }
         if (is_array($field_data['list_data']['editable'])) {
             if (!$field_data['list_data']['editable']['add'] && $this->operation == 'add' || !$field_data['list_data']['editable']['edit'] && $this->operation == 'edit') {
                 $DISABLED = ' disabled="disabled"';
             }
         } else {
             if (!$field_data['list_data']['editable']) {
                 $DISABLED = ' disabled="disabled"';
             }
         }
         if (!$field_data['list_data']['editable'] || in_array($field_name, $FIELDS_BLOCKED, true)) {
             $LOCK_ICON_HTML = '<span class="icon lock"></span>';
         }
         $REQUIRED = (bool) $field_data['list_data']['required'] ? ' required' : '';
         $UN_TYPE = 'un_type="' . $field_data['list_data']['type'] . '"';
         // add attribute for validation
         $valid_attr = '';
         if (!empty($field_data['validation']['valid_proc'])) {
             $valid_attr = ' validation="proc"';
         } else {
             foreach ($this->class_definition['fields'] as $t_field_name => $t_field_data) {
                 if (!empty($t_field_data['validation']['valid_proc'])) {
                     if (in_array($field_name, $t_field_data['consist'])) {
                         $valid_attr = ' validation="proc"';
                     }
                 }
             }
         }
         $add_html = '';
         // fields type handle
         switch ($field_data['field_type']) {
             case 'link':
                 $T_OBJ = new $field_data['class_name']();
                 $add_html .= '<td class="label">';
                 $add_html .= '<label for="' . $field_name . '">' . $T_OBJ::$un_definition['title'] . '</label>';
                 // description
                 if (isset($field_data['list_data']['description'])) {
                     if (_UN_FIELD_DESC_SIMPLE_) {
                         $add_html .= '<div class="description">' . $field_data['list_data']['description'] . '</div>';
                     } else {
                         $add_html .= '<div class="description jquery_field_desc">';
                         $add_html .= '<i class="icon-info-sign"></i>';
                         $add_html .= '<span style="display: none;">' . $field_data['list_data']['description'] . '</span>';
                         $add_html .= '</div>';
                     }
                 }
                 $add_html .= '</td>';
                 // value of linked field
                 $add_html .= '<td class="field">';
                 $add_html .= '<span class="error msg"></span>';
                 $field_values = $T_OBJ::getFieldValues_v2($field_name, $field_data['list_data']['show_field'], $field_data['list_data']['choice_condition']);
                 $add_html .= '<select ' . $UN_TYPE . ' class="data_field' . $CLASS_ADD . '"
                     size="1" name="' . $field_name . '" id="' . $field_name . '"' . $DISABLED . $REQUIRED . $valid_attr . '>';
                 //file_put_contents($field_name.'-field_values.txt', print_r($field_values, true));
                 foreach ($field_values as $value_row) {
                     $selected = '';
                     if ($this->object_data[$field_name] == $value_row[$field_name]) {
                         $selected = 'selected="selected"';
                     }
                     //file_put_contents($field_name.'-field_values.txt', print_r($field_name, true));
                     $add_html .= '<option ' . $selected . ' value="' . $value_row[$field_name] . '">' . $value_row[$field_data['list_data']['show_field']] . '</option>';
                 }
                 $add_html .= '</select>';
                 $add_html .= $LOCK_ICON_HTML;
                 $add_html .= '</td>';
                 break;
             case 'link_search':
                 $T_OBJ = new $field_data['class_name']();
                 $add_html .= '<td class="label">';
                 $add_html .= '<label for="' . $field_name . '">' . $field_data['list_data']['title'] . '</label>';
                 // description
                 if (isset($field_data['list_data']['description'])) {
                     if (_UN_FIELD_DESC_SIMPLE_) {
                         $add_html .= '<div class="description">' . $field_data['list_data']['description'] . '</div>';
                     } else {
                         $add_html .= '<div class="description jquery_field_desc">';
                         $add_html .= '<i class="icon-info-sign"></i>';
                         $add_html .= '<span style="display: none;">' . $field_data['list_data']['description'] . '</span>';
                         $add_html .= '</div>';
                     }
                 }
                 $add_html .= '</td>';
                 // value of linked field
                 $add_html .= '<td class="field">';
                 $add_html .= '<span class="error msg"></span>';
                 $field_values = $T_OBJ::getFieldValues_v2($field_data['linked_field'], $field_data['list_data']['show_field'], $field_data['list_data']['choice_condition']);
                 //file_put_contents('$field_values.txt', print_r($field_values, true));
                 $add_html .= '<select ' . $UN_TYPE . ' class="data_field' . $CLASS_ADD . '"
                     size="1" name="' . $field_name . '" id="' . $field_name . '"' . $DISABLED . $REQUIRED . $valid_attr . '>';
                 //file_put_contents('field_values.txt', print_r($field_values, true));
                 foreach ($field_values as $value_row) {
                     $selected = '';
                     if ($this->object_data[$field_name] == $value_row[$field_data['linked_field']]) {
                         $selected = 'selected="selected"';
                     }
                     $add_html .= '<option ' . $selected . ' value="' . $value_row[$field_data['linked_field']] . '">' . $value_row[$field_data['list_data']['show_field']] . '</option>';
                 }
                 $add_html .= '</select>';
                 $add_html .= $LOCK_ICON_HTML;
                 $add_html .= '</td>';
                 break;
             case 'composit_name':
                 break;
             case 'association':
                 break;
             case 'range_input_helper':
                 $add_html .= '<td class="label">';
                 $add_html .= '<label for="' . $field_name . '">' . $field_data['list_data']['title'] . '</label>';
                 // description
                 if (isset($field_data['list_data']['description'])) {
                     if (_UN_FIELD_DESC_SIMPLE_) {
                         $add_html .= '<div class="description">' . $field_data['list_data']['description'] . '</div>';
                     } else {
                         $add_html .= '<div class="description jquery_field_desc">';
                         $add_html .= '<i class="icon-info-sign"></i>';
                         $add_html .= '<span style="display: none;">' . $field_data['list_data']['description'] . '</span>';
                         $add_html .= '</div>';
                     }
                 }
                 $add_html .= '</td>';
                 $add_html .= '<td class="field">';
                 $add_html .= '<span class="error msg"></span>';
                 if ($field_data['list_data']['type'] == 'text') {
                     //foreach($field_data['consist'] as $key => $t_field_name)
                     //{
                     $size = $field_data['list_data']['size'] ? ' size="' . $field_data['list_data']['size'] . '" ' : ' size="50" ';
                     $add_html .= $field_data['splitter'][0] ? '<span class="splitter">' . $field_data['splitter'][0] . '</span>' : '<span class="spacer"></span>';
                     $add_html .= '<input class="range_helper range_data_field from" ' . $UN_TYPE . $DISABLED . $REQUIRED . ' type="text" 
                         align="LEFT" ' . $size . ' maxlength="60" un_for="' . $field_data['consist'][0] . '" id="helper_' . $field_data['consist'][0] . '" value="" title="from" />';
                     $add_html .= $field_data['splitter'][1] ? '<span class="splitter">' . $field_data['splitter'][1] . '</span>' : '<span class="spacer"></span>';
                     //$add_html .= '<span class="error msg"></span>';
                     $add_html .= '<input class="range_helper range_data_field to" ' . $UN_TYPE . $DISABLED . $REQUIRED . ' type="text" 
                         align="LEFT" ' . $size . ' maxlength="60" un_for="' . $field_data['consist'][1] . '" id="helper_' . $field_data['consist'][1] . '" value="" title="to" />';
                     //}
                 }
                 $add_html .= $LOCK_ICON_HTML;
                 $add_html .= '</td>';
                 break;
             default:
                 if (!(!_UN_SHOW_SYS_FIELDS_ && $field_data['field_type'] == 'system_data')) {
                     $add_html .= '<td class="label">';
                     $add_html .= '<label for="' . $field_name . '">' . $field_data['list_data']['title'] . '</label>';
                     // description
                     if (isset($field_data['list_data']['description'])) {
                         if (_UN_FIELD_DESC_SIMPLE_) {
                             $add_html .= '<div class="description">' . $field_data['list_data']['description'] . '</div>';
                         } else {
                             $add_html .= '<div class="description jquery_field_desc">';
                             $add_html .= '<i class="icon-info-sign"></i>';
                             $add_html .= '<span style="display: none;">' . $field_data['list_data']['description'] . '</span>';
                             $add_html .= '</div>';
                         }
                     }
                     $add_html .= '</td>';
                     $add_html .= '<td class="field">';
                     $add_html .= '<span class="error msg"></span>';
                     if ($field_data['list_data']['type'] == 'text') {
                         $add_html .= '<input class="data_field' . $CLASS_ADD . '" ' . $UN_TYPE . $DISABLED . $REQUIRED . $valid_attr . ' type="text" 
                             value="' . $this->object_data[$field_name] . '" align="LEFT" size="60" maxlength="60" 
                             name="' . $field_name . '" id="' . $field_name . '" title="title" />';
                     }
                     if ($field_data['list_data']['type'] == 'text_box') {
                         $add_html .= '<textarea class="data_field' . $CLASS_ADD . '" ' . $UN_TYPE . $DISABLED . $REQUIRED . $valid_attr . ' cols="60" rows="3" wrap="soft" 
                             name="' . $field_name . '" id="' . $field_name . '" title="title">' . $this->object_data[$field_name] . '</textarea>';
                     }
                     if ($field_data['list_data']['type'] == 'boolean') {
                         if ($this->operation == 'edit') {
                             $t_checked = (bool) $this->object_data[$field_name] ? ' checked="checked"' : '';
                         } else {
                             $t_checked = ' checked="checked"';
                         }
                         $add_html .= '<input class="data_field' . $CLASS_ADD . '" ' . $UN_TYPE . $DISABLED . $valid_attr . ' 
                             type="checkbox" align="LEFT" ' . $t_checked . ' 
                             name="' . $field_name . '" id="' . $field_name . '" />';
                     }
                     if ($field_data['list_data']['type'] == 'date_time') {
                         $add_html .= '<input class="data_field datepicker hasDatepicker' . $CLASS_ADD . '" ' . $UN_TYPE . $DISABLED . $valid_attr . ' type="text" 
                             name="' . $field_name . '" id="' . $field_name . '" value="' . $this->object_data[$field_name] . '" />';
                     }
                     $add_html .= $LOCK_ICON_HTML;
                     $add_html .= '</td>';
                 }
                 break;
         }
         if (!($add_html == '')) {
             $html .= '<tr>';
             $html .= $add_html;
             $html .= '</tr>';
         }
     }
     $html .= '<tr><td></td><td class="buttons">
                 <span id="alert_error" style="display:none;"></span>
                 <div class="button btn normal" id="verify_form_data"><span>проверить</span></div>
                 <div class="submitButton"><input type="submit" value="СОХРАНИТЬ" name="' . $FORM_NAME . '_submit"  /></div>
                 </td></tr>';
     $html .= '</tbody></table>';
     //$html .= '</fieldset>';
     $html .= '</form>';
     $html .= '</div>';
     $this->result = $html;
     return $html;
 }
Beispiel #8
0
 public static function getMassProperties($t_obj_inst, $class_name)
 {
     //        $class_name = self::$un_definition['class_name'];
     $primary = $class_name::$un_definition['primary'];
     $id = $t_obj_inst[$primary];
     //file_put_contents($id.'-$t_obj_inst_2.txt', print_r($t_obj_inst, true));
     //file_put_contents($id.'-$class_name.txt', print_r($class_name, true));
     //file_put_contents($id.'-$id.txt', print_r($id, true));
     $used_class = 'UN_PartUsed';
     $id_part_used_in_attr = 'id_part_used_in';
     $mass = 0;
     $mass_center_x = 0;
     $mass_center_y = 0;
     $mass_center_z = 0;
     $warnings = array();
     if ($t_obj_inst['is_assembly']) {
         $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
     		      SELECT * FROM `' . _DB_PREFIX_ . _UN_PREFIX_ . $used_class::$un_definition['table'] . '`
     		      WHERE `' . $id_part_used_in_attr . '`=' . (int) $id . ' GROUP BY `' . $primary . '`');
         //file_put_contents($id.'-$result.txt', print_r($result, true));
         foreach ($result as $row) {
             $t_used_obj = UN_ObjectModel::getObjectById($row[$primary], $class_name);
             //file_put_contents($id.'-$t_used_obj.txt', print_r($t_used_obj, true));
             $t_mass_props = $class_name::getMassProperties($t_used_obj, $class_name);
             //file_put_contents($id.'-$t_mass_props.txt', print_r($t_mass_props, true));
             $mass = $mass + (double) $t_mass_props['mass'] * (int) $row['part_used_count'];
             $mass_center_x = $mass_center_x + $t_mass_props['mass_center_x'];
             $mass_center_y = $mass_center_y + $t_mass_props['mass_center_y'];
             $mass_center_z = $mass_center_z + $t_mass_props['mass_center_z'];
             if (!empty($t_mass_props['warnings'])) {
                 $warnings = array_merge($warnings, $t_mass_props['warnings']);
             }
         }
     } else {
         $mass = $t_obj_inst['mass'];
         $mass_center_x = $t_obj_inst['mass_center_x'];
         $mass_center_y = $t_obj_inst['mass_center_y'];
         $mass_center_z = $t_obj_inst['mass_center_z'];
         if ($t_obj_inst['mass'] == 0 && $t_obj_inst['mass_center_x'] == 0 && $t_obj_inst['mass_center_y'] == 0 && $t_obj_inst['mass_center_z'] == 0) {
             $t_instance = $class_name::getRowValues($t_obj_inst, $class_name);
             $warnings[] = $t_instance[$class_name::$un_definition['general_attribute']] . ' - не заполнена масса и центр масс детали.';
         }
     }
     $return = array('mass' => $mass, 'mass_center_x' => $mass_center_x, 'mass_center_y' => $mass_center_y, 'mass_center_z' => $mass_center_z, 'warnings' => $warnings);
     //file_put_contents($id.'-$return.txt', print_r($return, true));
     return $return;
 }
Beispiel #9
0
 public static function getParentClassesList($class_name = null)
 {
     $return = array();
     if (is_null($class_name)) {
         $class_name = self::$un_definition['class_name'];
     }
     foreach (UN_ObjectModel::getClassesList() as $t_class_row) {
         $t_definition = $t_class_row['class_name']::$un_definition;
         if (array_key_exists('child_classes', $t_definition) && !empty($t_definition['child_classes']) && array_key_exists($class_name, $t_definition['child_classes'])) {
             $return[] = $t_definition['class_name'];
         }
     }
     return $return;
 }