public static function load_lib($ret = false, $filespec = '', $classname = '')
 {
     if ($ret === false && !empty($filespec)) {
         $filepath = WPSSOJSON_PLUGINDIR . 'lib/' . $filespec . '.php';
         if (file_exists($filepath)) {
             require_once $filepath;
             if (empty($classname)) {
                 return SucomUtil::sanitize_classname('wpssojson' . $filespec, false);
             } else {
                 return $classname;
             }
         }
     }
     return $ret;
 }
 public function filter_status_gpl_features($features, $lca, $info)
 {
     foreach ($info['lib']['gpl'] as $sub => $libs) {
         if ($sub === 'admin') {
             // skip status for admin menus and tabs
             continue;
         }
         foreach ($libs as $id_key => $label) {
             list($id, $stub, $action) = SucomUtil::get_lib_stub_action($id_key);
             $classname = SucomUtil::sanitize_classname('wpssojsongpl' . $sub . $id, false);
             // $underscore = false
             $features[$label] = array('status' => class_exists($classname) ? 'on' : 'off');
         }
     }
     return $this->filter_common_status_features($features, $lca, $info);
 }