Microweber\Traits\ExtendedSave::extended_save PHP Method

extended_save() public method

public extended_save ( $table_name_or_params, $params = null )
    public function extended_save($table_name_or_params, $params = null)
    {
        if ($params === null) {
            $params = $table_name_or_params;
        } else {
            if ($params != false) {
                $params = parse_params($params);
            } else {
                $params = array();
            }
            $params['table'] = $table_name_or_params;
        }
        if (is_string($params)) {
            $params = parse_params($params);
        }
        if (!isset($params['table'])) {
            return false;
        }
        $ext_params = $params;
        $saved_id = $this->save($params);
        if ($saved_id == false) {
            return false;
        }
        if (!empty($ext_params)) {
            //            $data_str = 'attribute_';
            //            $data_str_l = strlen($data_str);
            //            foreach ($ext_params as $k => $v) {
            //                if (is_string($k)){
            //                    if (strlen($k) > $data_str_l){
            //                        $rest = substr($k, 0, $data_str_l);
            //                        $left = substr($k, $data_str_l, strlen($k));
            //                        if ($rest==$data_str){
            //                            if (!isset($ext_params['attributes'])){
            //                                $ext_params['attributes'] = array();
            //                            }
            //                            $ext_params['attributes'][ $left ] = $v;
            //                        }
            //                    }
            //                }
            //            }
        }
        if (!is_array($saved_id) and $saved_id != 0) {
            $ext_params['id'] = $saved_id;
            event_trigger('mw.database.extended_save', $ext_params);
            if (isset($ext_params['attributes'])) {
                $this->extended_save_attributes($ext_params);
            }
            if (isset($ext_params['categories'])) {
                $this->extended_save_categories($ext_params);
            }
            if (isset($ext_params['tags'])) {
                $this->extended_save_tags($ext_params);
            }
            if (isset($ext_params['data_fields'])) {
                $this->extended_save_data_fields($ext_params);
            }
            if (isset($ext_params['images'])) {
                $this->extended_save_images($ext_params);
            }
            if (isset($ext_params['custom_fields'])) {
                $this->extended_save_custom_fields($ext_params);
            }
            return $saved_id;
        } else {
            return $params;
        }
    }