Handles the ajax calls made to backend from the Full Calendar
Purpose of this class is to source out events that are page versions in disguise. It also handles updating a page version event if the user has changed it on the front end calendar .
A source is a plage to fetch events given a start and end time. Our CalendarResponseHandler will use the PageVersionSource (and others possibly later) so I made an interface we can all abide by if we need to create more event sources for the full calendar
This class loads all the providers in other folders for all of devise. We don't want the developer to have to load 10 different service providers to work with devise, so this class is just a wrapper to load all of the service providers instead of having to load 10 individual ones in the app/config/app.php file
Language detector is used to determine the current and universal languages for this system. It uses LocaleDetector to get the universal code, i.e 'en', 'es', and then fetches the DvsLanguage from the database
The languages manager allows us to manage the all things related to DvsLanguage model
The langauges repository provides methods to fetch rows in the context of DvsLanguage model
Handles responses for language routes. This class is likely used as a responsepath to a dvspage field.
Locales are shorthand 2 letter strings for a language/region.
Class CategoryAlreadyExistsException is thrown whenever the Categories/Manager finds a duplicate category. (If you try to create the same directory)
Class CategoryPaths converts dot paths to real paths and also finds server paths and browser urls to the configured root media directory where all our media files are stored at.
Class Manager manages categories. A category is basically a directory inside of the /media folder.
Class ResponseHandler handles the controller side of managing categories. These methods are likely referenced in dvs_pages table
Registers a new devise.video.encoder we can use globally throughout Laravel
Class InvalidEncodingSettingsException is thrown in ZencoderJob anytime invalid settings are passed in when trying to create a new Zencoder api call to start encoding videos
Class ZencoderJob handles incoming requests that have been completed by Zencoder. Also pushes requests to Zencoder api.
Class ZencoderNotificationsController handles incoming requests from the zencoder server when it is finished encoding our videos in order to let us know it is time to download the encoded video back to our own servers
Class FileDownloader downloads a file from the internet and saves it into a specified directory
Class Filesystem inherits from Illuminate\Filesystem\Filesystem but adds some additional functionality such as file searching.
Class InvalidFileException is thrown in MediaPaths whenever the file path given is not valid (it doesn't exist)
Class Repository builds a complex array of data around the file structure of the media manager. This let's us fetch a lot of things regarding the file system around the media manager
Class ResponseHandler handles controller part of media manager as far as uploading, renaming and removing media files goes
Class Manager takes care of image management. This lets us get a list of images and also crop and resize images
Class ResponseHandler handles requests (controller/route) made to crop images
Class MediaPaths abstracts away paths that we can use and also has a few helper methods for other classes to use
Class MenusRepository retrieves things related to DvsMenu and DvsMenuItems database table
Class MenusResponseHandler is used to store and update menus and menu items in the database. There is likely a dvs_pages database row pointing to these two methods.
Class ScaffoldingResponseHandler
Class ApiPagesManager manages the creating of new pages, updating pages
Class ApiPagesRepository is used to retrieve DvsPage models of Function type
Response handler takes care of creating,updating, destroying
This classes purpose is to act as a container for fields on the collection level. A collection can have multiple fields, e.g.
Collection fields are objects that allow us to traverse the keys in that collection.
Manage collections in the database by creating, updating and removing them.
Retreives collection instances and sets and fields for us.
Handle responses for collection instances
Whenever we see a duplicate field key on a page throw an exception for the developer so they can fix it.
A field manager has the responsibilty of managing fields in the database.
Field value is an object that holds json values for a DvsField model
Fields repository allows us to retrieve fields that belong to page versions and keys and have been deleted. We also can find global fields with this repository.
When the video field is updated we will call this class to handle the encoding part This should be registered in the Events of laravel whenever the PagesServiceProvider starts
This class should be registered in a service provider for PagesServiceProvider. It is called anytime a field with type "image" is updated. We do this so we can hook into the updated event and then create media versions and thumbnails for this image field
When the video field is updated we will call this class to handle the encoding part This should be registered in the Events of laravel whenever the PagesServiceProvider starts
Field value is an object that holds json values for a DvsField model
This class merely decorates the another compiler and thus giving us the extra functionality we need to work properly.
purpose of this class is to add placeholder tags and also rename devise tags and lastly append on App::make('dvsPageData')->bindings for devise tags, collections, models and model creators
A storage container class that stores collections and fields for a given page. These fields and collections are addeded to a singleton registered in Devise\Pages\PagesServiceProvider.php called 'dvsPageData'. ALl blade views that contain fields and/or collections will use methods like addCollection and addField respectively to add in the data. Eventually all this data is spit out as JSON for the javascript library in devise to take over from there.
This exception is thrown anytime there are multiple devise fields on a page that share the same key. Keys are unique to the page.
This exception is thrown anytime the devise key is invalid. A invalid variable name in php is considered an invalid key name. We have to use key name in php to referrence the devise key, i.e. $keyName->text
Thrown whenever the devise tag is malformed.
Thrown whenever the model tag has no picks, resulting in a zero count mapping inside the TagManager
Thrown whenever the page is not initialized with correct data. This should never happen unless we have bugs in our code.
This visitor class handles putting
this creates two sections, one for devise editors and the other a pristine section which removes all the data-devise stuff.
Create and find tags in the database. A tag could be a model, field, attribute, model creator or collection
Class ViewOpener opens a view for an include statement in this format:
All pages registered in dvs_pages database table come through this controller show method. The reason for this is so that the database can be in charge of the routes and a non developer can construct new pages with predefined templates in a dropdown selectbox.
Class PageManager manages the creating of new pages, updating pages and removing and copying pages.
This exception is thrown whenever the page is not found in the database (likely because the page is not published)
Response handler takes care of creating,updating, destroying and copying pages within the /admin/pages routes
Class PageVersionManager manages all things page versions related.
Class PageVersionsRepository is used to search and retrieve DvsPageVersion models and things in context of a Devise Page Versions.
This exception is thrown whenever there are problems with pages inside of PagesControllerResponse
Class PagesRepository is used to search and retrieve DvsPage models and things in context of a Devise Page.
Registers the Pages service provider. This allows us to manage our pages within the Devise cms. It also provides the ability to scan blade views and extract out fields and collections which can be loaded in the Devise Sidebar and maintained by the admin.
This builds the variables that are found in views.php config for a devise page. It uses a ViewComposer (found in this directory) to inject in the data that is built using this class.
Purpose of this class is to turn something like this in the view vars into a parameter value we can use.
Class DeviseRouteConfigurationException is thrown in the case where devise views.php config has been improperly configured.
View composer here is registered in the Devise\Pages\PagesServiceProvider.php for all views that are contained within the views config file. That is how those views have their data injected into them properly - by running through this view composer.
Class PageSearch is an example of how you could search for pages using the SearchableModelTrait
Class Pagination is used so we can paginate search results from many different searched models
Class SearchableModelTrait can be applied to an eloquent model to give it "searchablity". You have to override the getColumns method and/or make a protected $searchable = array('column1' => 1, 'column2' => 2);
Class UniversalSearch lets us register new searchable models and then search through all of them
Class DeviseUniversalSearchProvider registers the universal searching mechanism for Devise
SettingsManager is used to update the config overrides file which allows an admin to override any config variable in devise
Class FileManager is used to manage retrieving and modifying Devise config(s) files along with any other management functions
SettingsManager is used to update the config overrides file which allows an admin to override any config variable in devise
Class DeviseException should be the base class exception for any exception thrown inside of Devise. This way we can catch those specifically if we want and know that they are different from just regular exceptions.
Class DeviseHttpException should be the base class exception for any exception thrown inside of Devise. This way we can catch those specifically if we want and know that they are different from just regular exceptions.
Class DeviseResponse for some reason Illuminate\Support\Facades\Response is not an actual facade but a real class. So we can't use getFacadeAccessor on it. Instead we write a proxy class called DeviseResponse which simply calls static methods on Response object.
This validation exception is thrown when ever there are validation errors somewhere. It is used in the Manager class to assert fields are valid.
Class Framework wraps important components that we use from Laravel's framework. Components like Config, Validator, Request, Response.
Class EloquentBuilder is ran on paginate queries only and takes the liberty of sorting and filtering results for us smartly and magically.
Class Manager changes the cookie/session keys for multisorts
Class Sort handles creating links and filters for us which
Class SortableServiceProvider registers the Sort facade on the Laravel container
Class SupportServiceProvider registers support components of Devise and other helpers that Devise uses.
Class DeviseTemplateNotFoundException is thrown in the case where devise templates.php config is missing the a view path
Class TemplatesManager manages updating templates, removing and additional admin functions
Class TemplatesRepository is used to retrieve template data
Class TemplatesResponseHandler is used to retrieve template data
Class GroupManager manages the creating, updating, and removing of groups.
Class PermissionsManager manages updating permissions, removing and additional admin functions
Class PermissionsRepository is used to retrieve permission data
Class PermissionsResponseHandler is used to retrieve permission data
Class RedirectHandler handles redirecting
Class RuleList maintains list of built-in and user defined functions (in permissions-conditions config) which can be checked using DeviseUser Facade.
Class RuleManager manages retrieval, creation/addition, execution and evaluation of native and user-defined rules.
Class SessionsRepository is used to search and retrieve current DvsUser in session and things in context of a DvsUser/DvsGroup.
Helper allows specific methods to be easily accessible through the DeviseUser facade.
Class UserManager manages the creating of new users, updating existing users and removing users.
Class UserServiceProvider registers the devise user, rulelist and rulemanager facades
Class UsersRepository is used to search and retrieve DvsUser models and things in context of a Devise User.
Response handler takes care of user login/logout, creating, updating, destroying users within /admin/users routes