芝麻web文件管理V1.00
编辑当前文件:/home/royashxg/public_html/wp-content/plugins/fluentform/app/Modules/Form/FormFieldsParser.php
id]) && array_diff(static::$formsWith[$form->id], $with)) { static::$forms[$form->id] = []; } static::$formsWith[$form->id] = $with; } public static function getFields($form, $asArray = false) { return static::parse('fields', $form, $asArray); } public static function getInputs($form, $with = []) { static::maybeResetForm($form, $with); return static::parse('inputs', $form, $with); } public static function getEntryInputs($form, $with = ['admin_label', 'raw']) { static::maybeResetForm($form, $with); return static::parse('entry_inputs', $form, $with); } public static function parse($key, $form, $with) { if (!is_object($form) && is_numeric($form)) { $form = wpFluent()->table('fluentform_forms')->find($form); } if (!isset(static::$forms[$form->id])) { static::$forms[$form->id] = []; } if (!isset(static::$forms[$form->id][$key])) { $parser = new FormParser($form); $method = str_replace(' ', '', ucwords(str_replace('_', ' ', $key))); static::$forms[$form->id][$key] = $parser->{'get' . $method}($with); } return static::$forms[$form->id][$key]; } public static function getAdminLabels($form, $fields = []) { if (!isset(static::$forms[$form->id])) { static::$forms[$form->id] = []; } if (!isset(static::$forms[$form->id]['admin_labels'])) { $parser = new FormParser($form); static::$forms[$form->id]['admin_labels'] = $parser->getAdminLabels($fields); } return static::$forms[$form->id]['admin_labels']; } /** * Deligate dynamic static method calls to FormParser method. * And set the result to the store before returning to dev. * * @param string $method * @param array $parameters * * @return mixed */ public static function __callStatic($method, $parameters) { // The first item of the parameters is expected to contain the form object. $form = array_shift($parameters); $forceFreshValue = [ 'getField', 'getElement', 'hasElement', 'getInputsByElementTypes', ]; // If the store doesn't have the requested result we'll // deletegate the method call to the Parser method. // Set the store before returning it to the dev. if (in_array($method, $forceFreshValue) || !isset(static::$forms[$form->id][$method])) { $parser = new FormParser($form); static::$forms[$form->id][$method] = call_user_func_array([$parser, $method], $parameters); } return static::$forms[$form->id][$method]; } public static function resetData() { static::$forms = []; static::$formsWith = []; } }