Example #1
0
 /**
  * Constructor for class.
  *
  * Pass an array of field_name => sanatization_callback
  *
  * @param array $fields
  */
 public function __construct($fields)
 {
     $this->fields = $fields;
     add_filter('lasso_api_params', function ($params) {
         foreach ($this->fields as $field => $cbs) {
             $field = lasso_clean_string($field);
             $params['process_meta_update'][$field] = $cbs;
         }
         return $params;
     });
     add_filter('lasso_meta_fields', function ($allowed) {
         foreach (array_keys($this->fields) as $field) {
             $field = lasso_clean_string($field);
             $allowed[] = $field;
         }
         return $allowed;
     });
 }
Example #2
0
/**
*	Used internally as a callback to build a tab or content area for modal addons
*
*	@param $tab object
*	@param $type string tab or content
*	@uses lasso_modal_addons()
*	@since 0.9.4
*/
function lasso_modal_addons_content($tab = '', $type)
{
    $name = lasso_clean_string($tab['name']);
    if ('tab' == $type) {
        $out = sprintf('<li data-addon-name="%s">%s</li>', $name, $tab['name']);
    } else {
        if ('content' == $type) {
            $content = isset($tab['content']) && is_callable($tab['content']) ? call_user_func($tab['content']) : false;
            $options = isset($tab['options']) && is_callable($tab['options']) ? call_user_func($tab['options']) : false;
            $out = sprintf('<div class="lasso--modal__content not-visible" data-addon-content="%s">
			%s%s
			</div>', $name, $content, lasso_option_form($name, $options));
        }
    }
    return $out;
}
Example #3
0
/**
*	Build settings inputs for settings fields
*
*	@param $name
*	@param $option mixed object
*	@param $type string text, textarea, checkbox, color
*	@since 5.0
*/
function lasso_option_engine_option($name = '', $option = '', $type = '')
{
    if (empty($type) || empty($option)) {
        return;
    }
    $id = isset($option['id']) ? $option['id'] : false;
    $id = $id ? lasso_clean_string($id) : false;
    $desc = isset($option['desc']) ? $option['desc'] : false;
    $value = get_post_meta(get_the_id(), $option['id'], true);
    switch ($type) {
        case 'text':
            $out = sprintf('<label for="lasso--post-option-%s">%s</label><input id="lasso--post-option-%s" name="%s" type="text" value="%s">', $id, esc_html($desc), $id, $id, $value);
            break;
        case 'textarea':
            $out = sprintf('<label for="lasso--post-option-%s">%s</label><textarea id="lasso--post-option-%s" name="%s">%s</textarea>', $id, esc_html($desc), $id, $id, $value);
            break;
        case 'checkbox':
            $out = sprintf('<label for="lasso--post-option-%s" class="checkbox-control checkbox"><input id="lasso--post-option-%s" type="checkbox" name="%s" class="checkbox"><span class="control-indicator"></span>%s', $id, $id, $id, esc_html($desc));
            break;
    }
    return $out;
}