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; } }
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(); }
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)); } }
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; }
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; }
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; }