Inheritance: extends AdminPageFramework_Controller
/**
 * return social shares setting
 * @param string $name setting name
 * @param mixed $default if null get default value
 */
function hwss_option($name = '', $default = '')
{
    if ($name) {
        return AdminPageFramework::getOption('HW_SocialsShare_Settings', $name, $default);
    }
    return AdminPageFramework::getOption('HW_SocialsShare_Settings');
}
/**
 * @param $name
 * @param string $default
 * @return mixed|null|void
 */
function hwseo_option($name = '', $default = '')
{
    if ($name) {
        return AdminPageFramework::getOption('HWSEO_Settings_page', $name, $default);
    } else {
        return AdminPageFramework::getOption('HWSEO_Settings_page');
    }
}
/**
 * get livechat apf option
 * @param string $opt: give name of option want to getting
 * @param string $default: default value    (optional)
 * @param string $group: group section name (optional)
 */
function hw_livechat_option($opt, $default = '', $group = '')
{
    if ($group) {
        return AdminPageFramework::getOption('HW_Livechat_settings', array($group, $opt), $default);
    } else {
        return AdminPageFramework::getOption('HW_Livechat_settings', $opt, $default);
    }
}
 public function __construct($sOptionKey = null, $sCallerPath = null, $sCapability = 'manage_network', $sTextDomain = 'admin-page-framework')
 {
     if (!$this->_isInstantiatable()) {
         return;
     }
     $sCallerPath = $sCallerPath ? $sCallerPath : AdminPageFramework_Utility::getCallerScriptPath(__FILE__);
     parent::__construct($sOptionKey, $sCallerPath, $sCapability, $sTextDomain);
     new AdminPageFramework_Model_Menu__RegisterMenu($this, 'network_admin_menu');
 }
 public function __construct($sOptionKey = null, $sCallerPath = null, $sCapability = 'manage_network', $sTextDomain = 'admin-page-framework')
 {
     if (!$this->_isInstantiatable()) {
         return;
     }
     add_action('network_admin_menu', array($this, '_replyToBuildMenu'), 98);
     $sCallerPath = $sCallerPath ? $sCallerPath : AdminPageFramework_Utility::getCallerScriptPath(__FILE__);
     $this->oProp = new AdminPageFramework_Property_NetworkAdmin($this, $sCallerPath, get_class($this), $sOptionKey, $sCapability, $sTextDomain);
     parent::__construct($sOptionKey, $sCallerPath, $sCapability, $sTextDomain);
 }
 /**
  * Registers necessary callbacks ans sets up internal components including properties.
  * 
  * <h4>Example</h4>
  * <code>if ( is_admin() )
  *     new MyAdminPageClass( 'my_custom_option_key', __FILE__ );</code>
  * 
  * @access      public
  * @since       3.1.0
  * @see         http://codex.wordpress.org/Roles_and_Capabilities
  * @see         http://codex.wordpress.org/I18n_for_WordPress_Developers#Text_Domains
  * @param       string      $sOptionKey         (optional) specifies the option key name to store in the options table. If this is not set, the instantiated class name will be used.
  * @param       string      $sCallerPath        (optional) used to retrieve the plugin/theme details to auto-insert the information into the page footer.
  * @param       string      $sCapability        (optional) sets the overall access level to the admin pages created by the framework. The used capabilities are listed <a href="http://codex.wordpress.org/Roles_and_Capabilities">here</a>. The capability can be set per page, tab, setting section, setting field. Default: `manage_options.`
  * @param       string      $sTextDomain        (optional) the <a href="http://codex.wordpress.org/I18n_for_WordPress_Developers#Text_Domains" target="_blank">text domain</a> used for the framework's system messages. Default: `admin-page-framework`.
  * @return      void        returns nothing.
  */
 public function __construct($sOptionKey = null, $sCallerPath = null, $sCapability = 'manage_network', $sTextDomain = 'admin-page-framework')
 {
     if (!$this->_isInstantiatable()) {
         return;
     }
     add_action('network_admin_menu', array($this, '_replyToBuildMenu'), 98);
     $sCallerPath = $sCallerPath ? $sCallerPath : AdminPageFramework_Utility::getCallerScriptPath(__FILE__);
     // this is important to attempt to find the caller script path here when separating the library into multiple files.
     $this->oProp = new AdminPageFramework_Property_NetworkAdmin($this, $sCallerPath, get_class($this), $sOptionKey, $sCapability, $sTextDomain);
     parent::__construct($sOptionKey, $sCallerPath, $sCapability, $sTextDomain);
 }
/**
 * get awc apf option
 * @param string $opt: give name of option want to getting
 * @param string $default: default value    (optional)
 * @param string $group: group section name (optional)
 */
function hwawc_get_option($opt = '', $default = '', $group = '')
{
    if (!$opt) {
        return AdminPageFramework::getOption('HW_Sidebar_Settings');
    }
    //return all fields value in section
    if ($group) {
        return AdminPageFramework::getOption('HW_Sidebar_Settings', array($group, $opt), $default);
    } else {
        return AdminPageFramework::getOption('HW_Sidebar_Settings', $opt, $default);
    }
}
/**
 * get awc apf option
 * @param string $opt: give name of option want to getting
 * @param string $default: default value    (optional)
 * @param string $group: group section name (optional)
 */
function hw_navmenu_option($opt = '', $default = '', $group = '')
{
    if (!$opt) {
        return AdminPageFramework::getOption('HW_NAVMENU_settings');
    }
    //return all fields value in section
    if ($group) {
        return AdminPageFramework::getOption('HW_NAVMENU_settings', array($group, $opt), $default);
    } else {
        return AdminPageFramework::getOption('HW_NAVMENU_settings', $opt, $default);
    }
}
 public function _replyToSortByCustomOptionValue($oTermA, $oTermB)
 {
     $_sClassName = get_class($this);
     // the instantiated class name is the option key by default.
     $_sTextFieldA = AdminPageFramework::getOption($_sClassName, array($oTermA->term_id, 'text_field'));
     $_sTextFieldB = AdminPageFramework::getOption($_sClassName, array($oTermB->term_id, 'text_field'));
     return isset($_GET['order']) && 'asc' == $_GET['order'] ? strnatcmp($_sTextFieldA, $_sTextFieldB) : strnatcmp($_sTextFieldB, $_sTextFieldA);
 }
/**
 * return one of setting
 * @param $name
 * @param string $default
 * @param string $group
 * @return mixed|null|void
 */
function hw_get_setting($name, $default = '', $group = '')
{
    if (empty($group)) {
        $group = 'general';
    }
    if (is_array($name)) {
        $field = $name;
    } else {
        $field = array($group, $name);
    }
    return AdminPageFramework::getOption('HW_HOANGWEB_Settings', $field, $default);
}
 /**
  * register APF field
  * @param AdminPageFramework $apf
  */
 public static function register_field(AdminPageFramework &$apf, $enabled_submit = false)
 {
     $class = get_called_class();
     //refer to child class that extend this class
     $fields = array();
     //fields setting
     $fields[] = $class::get_instance()->get_field_definition();
     //add more fields
     if (method_exists($class::get_instance(), 'get_fields_definition')) {
         $_fields = $class::get_instance()->get_fields_definition();
         if (is_array($_fields)) {
             $fields = array_merge($fields, $_fields);
         }
     }
     //register field
     foreach ($fields as $field) {
         $apf->addSettingField($field);
     }
     if ($enabled_submit) {
         //add submit button
         $apf->addSettingField(array('field_id' => 'submit', 'type' => 'submit', 'label' => 'Lưu lại', 'show_title_column' => false));
     }
 }
 /**
  * return all fields values
  * @return array|mixed|null|void
  */
 public static function get_values()
 {
     return AdminPageFramework::getOption(__CLASS__);
 }
 /**
  * return all fields values
  * @return array|mixed|null|void
  */
 public static function get_values()
 {
     return AdminPageFramework::getOption(get_called_class());
 }
/**
 * get wpcf7 apf option
 * @param string $opt: give name of option want to getting
 * @param string $default: default value
 * @param string $group: group section name
 */
function hw_wpcf7_option($opt, $default = '', $group = 'general')
{
    if (class_exists('AdminPageFramework')) {
        return AdminPageFramework::getOption('HW_Wpcf_settings', array($group, $opt), $default);
    }
}