Giter VIP home page Giter VIP logo

f3plugins's Introduction

Gravatar

A very simple gravatar implementation.

Simplest use is as follows:

\Gravatar::instance()->get('email');

This will return a formatted url using the default gravatar options.

The class also provides a generic F3 route named gravatar which accepts an email param:

GET /gravatar/@email

If no email param is provided or gravatar returns an error, the class will generate a generic identicon via \Image()->identicon();

To enable the route, put a call to \Gravatar::instance(); on your index.php file before the call to $f3->run(); or wherever you prefer.

You can overwrite the default options by setting a F3 hive var:

	$f3->set('GRAVATAR', [
		'options' => [
			's' => 80,
			'd' => 'identicon',
			'r' => 'g',
		],
		'cache' => 86400,
		'url' => 'https://www.gravatar.com/avatar/',
		'mx' => false,
	]);
  • options An array of gravatar options, gravatar support the following params:
    • s size
    • d default gravatar type
    • r gravatar rating
  • cache If the GET /gravatar/ route is been used, this setting is used to set a F3 routing cache. Defaults to one day.
  • url The url used to request a gravatar.
  • mx boolean, defines the second param in \Audit::instance()->email() which checks for the email mx records.

You can also overwrite the default options on a per call basis, Gravatar::get() has a second argument which is an array of gravatar options:

\Gravatar::instance()->get('email', [
	's' => 64, // size
	'd' => 'monster', // Default image
	'r' => 'pg', // rating
]);

Form

A form generator. This plugin allow you to quickly build forms, the simplest use would be:

$form = \Form::instance();
	$form->setOptions([
		'action' => 'signup',
	]);

	$form->addText([
		'name' => 'text',
		'value' => '',
		'text' => 'a full text description',
	]);

	$form->addButton([
		'text' => 'submit',
	]);

	$form->build();

By default the form has the following options:

$this->options = [
	'group' => 'data',
	'prefix' => '',
	'type' => 'horizontal',
	'action' => '',
	'charset' => $this->f3->get('ENCODING'),
	'enctype' => 'multipart/form-data',
	'method' => 'post',
	'target' => '_self',
];
  • group If set, the class will group all your fields into a POST array named after it.
  • prefix All fields require a text key, however, if one isn't provided the class will look for a dictionary file var using the $f3 PREFIX and the field name: $element['text'] = $f3->get( $f3->get('PREFIX') . $this->options . $element['name']);
  • type bootstraps form types, horizontal or inline.
  • action An $f3 route where the POST data will be sent, needs to be an already registered route.
  • charset Defaults to $this->f3->get('ENCODING'). -method post the method to sent the form as.
  • target the form target

Those options can be replaced by a $f3 hive var named FORM.

The only required option is the action field. This option needs to be set everytime you want to use the form generator using the method setOptions();

All created fields requires a name option, this is used to identify the field across the form and the resulting POST data.

Currently the form can create the following fields:

  • text:
	$form->addText([
		'name' => 'text',
		'value' => '',
		'text' => 'a full text description',
	]);
  • textarea
	$form->addTextArea([
		'name' => 'text',
		'value' => '',
		'text' => 'a full text description',
		'rows' => 5
	]);
  • captcha This option uses $f3 own captcha generator. the field assumes you already have a ready to work captcha route.
	$form->addCaptcha([
		'name' => 'text',
		'url' => '',
		'text' => 'a full text description',
	]);
  • hidden field A simple way to add hidden fields, the method accepts two strings, name and value.
	$form->addHiddenField($name, $value);
  • html A generic way to inject direct HTML elements to the form. This field requires a special html key which contains the actual HTML you want to add
$form->addHtml([
	'name' => 'text',
	'html' => 'some HTML here!',
	'text' => 'a full text description',
]);

All elements also accept the following params:

  • extra a simple way to inject extra content to the fields, useful for adding data attribute data or to disable fields via the "disabled" bootstrap option
  • class Used to add extra classes to the field
  • desc Used to give each field a more detailed description.

To add a submit button call the addButton method:

$form->addButton([
	'text' => 'submit',
]);

This method accepts a text param which is the text the button will display.

Once all the fields has been created, call the build method() to generate an $f3 hive var.

Include the form.html template file whenever you want the form to appear and thats it! enjoy your form.

f3plugins's People

Contributors

missallsunday avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.