qodeOptions->addAdminPage($slug, $admin_page); return $admin_page; } return false; } } if(!function_exists('qode_add_admin_panel')) { /** * Generates panel object from given parameters * $attributes can container: * $title - title of panel * $name - name of panel with which it will be registered in admin page * $hidden_property - name of option that hides panel * $hidden_value - value of $hidden_property that hides panel * $hidden_values - array of valus of $hidden_property that hides panel * $page - slug of that page to which to add panel * * @param $attributes * * @return bool|QodePanel */ function qode_add_admin_panel($attributes) { $title = ''; $name = ''; $hidden_property = ''; $hidden_value = ''; $hidden_values = array(); $page = ''; extract($attributes); if(isset($page) && !empty($title) && !empty($name) && qode_framework()->qodeOptions->adminPageExists($page)) { $admin_page = qode_framework()->qodeOptions->getAdminPage($page); if(is_object($admin_page)) { $panel = new QodePanel($title, $name, $hidden_property, $hidden_value, $hidden_values); $admin_page->addChild($name, $panel); return $panel; } } return false; } } if(!function_exists('qode_add_admin_container')) { /** * Generates container object * $attributes can contain: * $name - name of the container with which it will be added to parent element * $parent - parent object to which to add container * $hidden_property - name of option that hides container * $hidden_value - value of $hidden_property that hides container * $hidden_values - array of valus of $hidden_property that hides container * * @param $attributes * * @return bool|QodeContainer */ function qode_add_admin_container($attributes) { $name = ''; $parent = ''; $hidden_property = ''; $hidden_value = ''; $hidden_values = array(); extract($attributes); if(!empty($name) && is_object($parent)) { $container = new QodeContainer($name, $hidden_property, $hidden_value, $hidden_values); $parent->addChild($name, $container); return $container; } return false; } } if(!function_exists('qode_add_admin_twitter_button')) { /** * Generates twitter button field * * @param $attributes * * @return bool|QodeTwitterFramework */ function qode_add_admin_twitter_button($attributes) { $name = ''; $parent = ''; extract($attributes); if(!empty($parent) && !empty($name)) { $field = new QodeTwitterFramework(); if(is_object($parent)) { $parent->addChild($name, $field); } return $field; } return false; } } if(!function_exists('qode_add_admin_instagram_button')) { /** * Generates instagram button field * * @param $attributes * * @return bool|QodeInstagramFramework */ function qode_add_admin_instagram_button($attributes) { $name = ''; $parent = ''; extract($attributes); if(!empty($parent) && !empty($name)) { $field = new QodeInstagramFramework(); if(is_object($parent)) { $parent->addChild($name, $field); } return $field; } return false; } } if(!function_exists('qode_add_admin_container_no_style')) { /** * Generates container object * $attributes can contain: * $name - name of the container with which it will be added to parent element * $parent - parent object to which to add container * $hidden_property - name of option that hides container * $hidden_value - value of $hidden_property that hides container * $hidden_values - array of valus of $hidden_property that hides container * * @param $attributes * * @return bool|QodeContainerNoStyle */ function qode_add_admin_container_no_style($attributes) { $name = ''; $parent = ''; $hidden_property = ''; $hidden_value = ''; $hidden_values = array(); extract($attributes); if(!empty($name) && is_object($parent)) { $container = new QodeContainerNoStyle($name, $hidden_property, $hidden_value, $hidden_values); $parent->addChild($name, $container); return $container; } return false; } } if(!function_exists('qode_add_admin_group')) { /** * Generates group object * $attributes can contain: * $name - name of the group with which it will be added to parent element * $title - title of group * $description - description of group * $parent - parent object to which to add group * * @param $attributes * * @return bool|QodeGroup */ function qode_add_admin_group($attributes) { $name = ''; $title = ''; $description = ''; $parent = ''; extract($attributes); if(!empty($name) && !empty($title) && is_object($parent)) { $group = new QodeGroup($title, $description); $parent->addChild($name, $group); return $group; } return false; } } if(!function_exists('qode_add_admin_row')) { /** * Generates row object * $attributes can contain: * $name - name of the group with which it will be added to parent element * $parent - parent object to which to add row * $next - whether row has next row. Used to add bottom margin class * * @param $attributes * * @return bool|QodeRow */ function qode_add_admin_row($attributes) { $parent = ''; $next = false; $name = ''; extract($attributes); if(is_object($parent)) { $row = new QodeRow($next); $parent->addChild($name, $row); return $row; } return false; } } if(!function_exists('qode_add_admin_field')) { /** * Generates admin field object * $attributes can container: * $type - type of the field to generate * $name - name of the field. This will be name of the option in database * $default_value * $label - title of the option * $description * $options - assoc array of option. Used only for select and radiogroup field types * $args - assoc array of additional parameters. Used for dependency * $hidden_property - name of option that hides field * $hidden_values - array of valus of $hidden_property that hides field * $parent - parent object to which to add field * * @param $attributes * * @return bool|QodeField */ function qode_add_admin_field($attributes) { $type = ''; $name = ''; $default_value = ''; $label = ''; $description = ''; $options = array(); $args = array(); $hidden_property = ''; $hidden_values = array(); $parent = ''; extract($attributes); if(!empty($parent) && !empty($type) && !empty($name)) { $field = new QodeField($type, $name, $default_value, $label, $description, $options, $args, $hidden_property, $hidden_values); if(is_object($parent)) { $parent->addChild($name, $field); return $field; } } return false; } } if(!function_exists('qode_add_admin_section_title')) { /** * Generates admin title field * $attributes can contain: * $parent - parent object to which to add title * $name - name of title with which to add it to the parent * $title - title text * * @param $attributes * * @return bool|QodeTitle */ function qode_add_admin_section_title($attributes) { $parent = ''; $name = ''; $title = ''; extract($attributes); if(is_object($parent) && !empty($title) && !empty($name)) { $section_title = new QodeTitle($name, $title); $parent->addChild($name, $section_title); return $section_title; } return false; } } if(!function_exists('qode_add_admin_notice')) { /** * Generates QodeNotice object from given parameters * $attributes array can contain: * $title - title of notice object * $description - description of notice object * $notice - text of notice to display * $hidden_property - name of option that hides notice * $hidden_value - value of $hidden_property that hides notice * $hidden_values - assoc array of values of $hidden_property that hides notice * $name - unique name of notice with which it will be added to it's parent * $parent - object to which to add notice object using addChild method * * @param $attributes * * @return bool|QodeNotice */ function qode_add_admin_notice($attributes) { $title = ''; $description = ''; $notice = ''; $hidden_property = ''; $hidden_value = ''; $hidden_values = array(); $parent = ''; $name = ''; extract($attributes); if(is_object($parent) && !empty($title) && !empty($notice) && !empty($name)) { $notice_object = new QodeNotice($title, $description, $notice, $hidden_property, $hidden_value, $hidden_values); $parent->addChild($name, $notice_object); return $notice_object; } return false; } } if(!function_exists('qode_framework')) { /** * Function that returns instance of QodeFramework class * * @return QodeFramework */ function qode_framework() { return QodeFramework::get_instance(); } } if(!function_exists('qode_options')) { /** * Returns instance of QodeOptions class * * @return QodeOptions */ function qode_options() { return qode_framework()->qodeOptions; } } /** * Meta boxes functions */ if(!function_exists('qode_add_meta_box')) { /** * Adds new meta box * * @param $attributes * * @return bool|QodeMetaBox */ function qode_add_meta_box($attributes) { $scope = array(); $title = ''; $hidden_property = ''; $hidden_values = array(); $name = ''; extract($attributes); if(!empty($scope) && $title !== '' && $name !== '') { $meta_box_obj = new QodeMetaBox($scope, $title, $hidden_property, $hidden_values, $name); qode_framework()->qodeMetaBoxes->addMetaBox($name, $meta_box_obj); return $meta_box_obj; } return false; } } if(!function_exists('qode_add_meta_box_field')) { /** * Generates meta box field object * $attributes can contain: * $type - type of the field to generate * $name - name of the field. This will be name of the option in database * $default_value * $label - title of the option * $description * $options - assoc array of option. Used only for select and radiogroup field types * $args - assoc array of additional parameters. Used for dependency * $hidden_property - name of option that hides field * $hidden_values - array of valus of $hidden_property that hides field * $parent - parent object to which to add field * * @param $attributes * * @return bool|QodeField */ function qode_add_meta_box_field($attributes) { $type = ''; $name = ''; $default_value = ''; $label = ''; $description = ''; $options = array(); $args = array(); $hidden_property = ''; $hidden_values = array(); $parent = ''; extract($attributes); if(!empty($parent) && !empty($type) && !empty($name)) { $field = new QodeMetaField($type, $name, $default_value, $label, $description, $options, $args, $hidden_property, $hidden_values); if(is_object($parent)) { $parent->addChild($name, $field); return $field; } } return false; } } if(!function_exists('qode_add_options_framework')) { /** * Generates meta box field object * $attributes can contain: * $type - type of the field to generate * $name - name of the field. This will be name of the option in database * $default_value * $label - title of the option * $description * $options - assoc array of option. Used only for select and radiogroup field types * $args - assoc array of additional parameters. Used for dependency * $hidden_property - name of option that hides field * $hidden_values - array of valus of $hidden_property that hides field * $parent - parent object to which to add field * * @param $attributes * * @return bool|QodeField */ function qode_add_options_framework($attributes) { $name = ''; $label = ''; $description = ''; $parent = ''; extract($attributes); if(!empty($parent) && !empty($name)) { $framework = new QodeOptionsFramework($label, $description); if(is_object($parent)) { $parent->addChild($name, $framework); return $framework; } } return false; } } if(!function_exists('qode_add_multiple_images_field')) { /** * Generates meta box field object * $attributes can contain: * $name - name of the field. This will be name of the option in database * $label - title of the option * $description * $parent - parent object to which to add field * * @param $attributes * * @return bool|QodeField */ function qode_add_multiple_images_field($attributes) { $name = ''; $label = ''; $description = ''; $parent = ''; extract($attributes); if(!empty($parent) && !empty($name)) { $field = new QodeMultipleImages($name,$label,$description); if(is_object($parent)) { $parent->addChild($name, $field); return $field; } } return false; } } if(!function_exists('qode_is_font_option_valid')) { /** * Checks if font family option is valid (different that -1) * * @param $option_name * * @return bool */ function qode_is_font_option_valid($option_name) { return $option_name !== '-1' && $option_name !== ''; } } if(!function_exists('qode_get_font_option_val')) { /** * Returns font option value without + so it can be used in css * * @param $option_val * * @return mixed */ function qode_get_font_option_val($option_val) { $option_val = str_replace('+', ' ', $option_val); return $option_val; } }