Primer commit proyecto mcafee

Se sube avance backend con login, parte de logica y restricciones 
conversadas.

TODO: LOGICA ONCHANGE, GENERACION DE JSON, AGREGAR COLUMNA DE FILA CON
VALOR INDEPENDIENTE DEL ID.
parent cab9e285

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

/web/bundles/
/app/bootstrap.php.cache
/app/cache/*
/app/config/parameters.yml
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
/app/phpunit.xml
/build/
/vendor/
/bin/
/composer.phar
/nbproject/private/
\ No newline at end of file
Copyright (c) 2004-2017 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
# backend-mcafee
# backend-mcafee
Backend para proyecto mcafee
\ No newline at end of file
UPGRADE FROM 2.1 to 2.2
=======================
* The [`web/.htaccess`](https://github.com/symfony/symfony-standard/blob/2.2/web/.htaccess)
file has been enhanced substantially to prevent duplicate content with and
without `/app.php` in the URI. It also improves functionality when using
Apache aliases or when mod_rewrite is not available. So you might want to
update your `.htaccess` file as well.
* The ``_internal`` route is not used any more. It should then be removed
from both your routing and security configurations. A ``fragments`` key has
been added to the framework configuration and must be specified when ESI or
Hinclude are in use. No security configuration is required for this path as
by default ESI access is only permitted for trusted hosts and Hinclude
access uses an URL signing mechanism.
```
framework:
# ...
fragments: { path: /_proxy }
```
Functional Tests
----------------
* The profiler has been disabled by default in the test environment. You can
enable it again by modifying the ``config_test.yml`` configuration file or
even better, you can just enable it for the very next request by calling
``$client->enableProfiler()`` when you need the profiler in a test (that
speeds up functional tests quite a bit).
UPGRADE FROM 2.2 to 2.3
=======================
When upgrading Symfony from 2.2 to 2.3, you need to do the following changes
to the code that came from the Standard Edition:
* The debugging tools are not enabled by default anymore and should be added
to the
[`web/app_dev.php`](https://github.com/symfony/symfony-standard/blob/2.3/web/app_dev.php)
front controller manually, just after including the bootstrap cache:
use Symfony\Component\Debug\Debug;
Debug::enable();
You also need to enable debugging in the
[`app/console`](https://github.com/symfony/symfony-standard/blob/2.3/app/console)
script, after the `$debug` variable is defined:
use Symfony\Component\Debug\Debug;
if ($debug) {
Debug::enable();
}
* The `parameters.yml` file can now be managed by the
`incenteev/composer-parameter-handler` bundle that comes with the 2.3
Standard Edition:
* add `"incenteev/composer-parameter-handler": "~2.0"` to your
`composer.json` file;
* add `/app/config/parameters.yml` to your `.gitignore` file;
* create a
[`app/config/parameters.yml.dist`](https://github.com/symfony/symfony-standard/blob/2.3/app/config/parameters.yml.dist)
file with sensible values for all your parameters.
* It is highly recommended that you switch the minimum stability to `stable`
in your `composer.json` file.
* If you are using Apache, have a look at the new
[`.htaccess`](https://github.com/symfony/symfony-standard/blob/2.3/web/.htaccess)
configuration and change yours accordingly.
* In the
[`app/autoload.php`](https://github.com/symfony/symfony-standard/blob/2.3/app/autoload.php)
file, the section about `intl` should be removed as it is not needed anymore.
You can also have a look at the
[diff](https://github.com/symfony/symfony-standard/compare/v2.2.0%E2%80%A62.3)
between the 2.2 version of the Standard Edition and the 2.3 version.
UPGRADE FROM 2.3 to 2.4
=======================
When upgrading Symfony from 2.3 to 2.4, you need to do the following changes
to the code that came from the Standard Edition:
* We recommend to comment or remove the `firephp` and `chromephp` Monolog
handlers as they might cause issues with some configuration (`chromephp`
with Nginx for instance).
UPGRADE FROM 2.7 to 2.8
=======================
When upgrading Symfony from 2.7 to 2.8, beware of the following changes in the
Standard Edition:
* Assetic is not included by default anymore.
* It comes with a new major version of `sensio/distribution-bundle`. If you are
updating the bundle in your project as well, the following changes are required:
- The web configurator got removed. So you need to remove the `_configurator`
routing entry from `app/config/routing_dev.yml`.
- The generated `app/bootstrap.php.cache` does not include autoloading anymore.
So you need to add the autoloading code in your front controllers `web/app.php`,
`web/app_dev.php`, `app/console` and `app/phpunit.xml.dist` (bootstrap config).
- If you have been using the Symfony 3 directory structure already, you need to
overwrite the cache and log directories in your `AppKernel` as it is also done
in Symfony 3 now (see
[`app/AppKernel.php`](https://github.com/symfony/symfony-standard/blob/master/app/AppKernel.php#L31-L44)).
* The `app/AppKernel.php` and `app/AppCache.php` files are now autoloaded via Composer.
You can have a look at the
[diff](https://github.com/symfony/symfony-standard/compare/2.7...2.8)
between the 2.7 version of the Standard Edition and the 2.8 version that
should help you to apply the changes in your project.
Additionally, we recommend to
[add phpunit-bridge to handle deprecations](https://github.com/symfony/symfony-standard/pull/884)
in your test suite and to ensure tests are
[run with full error reporting](https://github.com/symfony/symfony-standard/pull/875).
Symfony Standard Edition Upgrade
================================
From Symfony 2.0 to Symfony 2.1
-------------------------------
### Project Dependencies
As of Symfony 2.1, project dependencies are managed by
[Composer](http://getcomposer.org/):
* The `bin/vendors` script can be removed as `composer.phar` does all the work
now (it is recommended to install it globally on your machine).
* The `deps` file need to be replaced with the `composer.json` one.
* The `composer.lock` is the equivalent of the generated `deps.lock` file and
it is automatically generated by Composer.
Download the default
[`composer.json`](https://raw.github.com/symfony/symfony-standard/2.1/composer.json)
and
[`composer.lock`](https://raw.github.com/symfony/symfony-standard/2.1/composer.lock)
files for Symfony 2.1 and put them into the main directory of your project. If
you have customized your `deps` file, move the added dependencies to the
`composer.json` file (many bundles and PHP libraries are already available as
Composer packages -- search for them on [Packagist](http://packagist.org/)).
Remove your current `vendor` directory.
Finally, run Composer:
$ composer.phar install
Note: You must complete the upgrade steps below so composer can successfully generate the autoload files.
### `app/autoload.php`
The default `autoload.php` reads as follows (it has been simplified a lot as
autoloading for libraries and bundles declared in your `composer.json` file is
automatically managed by the Composer autoloader):
<?php
use Doctrine\Common\Annotations\AnnotationRegistry;
$loader = include __DIR__.'/../vendor/autoload.php';
// intl
if (!function_exists('intl_get_error_code')) {
require_once __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php';
$loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs');
}
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;
### `app/config/config.yml`
The `framework.charset` setting must be removed. If you are not using `UTF-8`
for your application, override the `getCharset()` method in your `AppKernel`
class instead:
class AppKernel extends Kernel
{
public function getCharset()
{
return 'ISO-8859-1';
}
// ...
}
You might want to add the new `strict_requirements` parameter to
`framework.router` (it avoids fatal errors in the production environment when
a link cannot be generated):
framework:
router:
strict_requirements: "%kernel.debug%"
You can even disable the requirements check on production with `null` as you should
know that the parameters for URL generation always pass the requirements, e.g. by
validating them beforehand. This additionally enhances performance. See
[config_prod.yml](https://github.com/symfony/symfony-standard/blob/master/app/config/config_prod.yml).
The `default_locale` parameter is now a setting of the main `framework`
configuration (it was under the `framework.session` in 2.0):
framework:
default_locale: "%locale%"
The `auto_start` setting under `framework.session` must be removed as it is
not used anymore (the session is now always started on-demand). If
`auto_start` was the only setting under the `framework.session` entry, don't
remove it entirely, but set its value to `~` (`~` means `null` in YAML)
instead:
framework:
session: ~
The `trust_proxy_headers` setting was added in the default configuration file
(as it should be set to `true` when you install your application behind a
reverse proxy):
framework:
trust_proxy_headers: false
An empty `bundles` entry was added to the `assetic` configuration:
assetic:
bundles: []
The default `swiftmailer` configuration now has the `spool` setting configured
to the `memory` type to defer email sending after the response is sent to the
user (recommended for better end-user performance):
swiftmailer:
spool: { type: memory }
The `jms_security_extra` configuration was moved to the `security.yml`
configuration file.
### `app/config/config_dev.yml`
An example of how to send all emails to a unique address was added:
#swiftmailer:
# delivery_address: me@example.com
### `app/config/config_test.yml`
The `storage_id` setting must be changed to `session.storage.mock_file`:
framework:
session:
storage_id: session.storage.mock_file
### `app/config/parameters.ini`
The file has been converted to a YAML file which reads as follows:
parameters:
database_driver: pdo_mysql
database_host: localhost
database_port: ~
database_name: symfony
database_user: root
database_password: ~
mailer_transport: smtp
mailer_host: localhost
mailer_user: ~
mailer_password: ~
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
Note that if you convert your parameters file to YAML, you must also change
its reference in `app/config/config.yml`.
### `app/config/routing_dev.yml`
The `_assetic` entry was removed:
#_assetic:
# resource: .
# type: assetic
### `app/config/security.yml`
Under `security.access_control`, the default rule for internal routes was changed:
security:
access_control:
#- { path: ^/_internal/secure, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
Under `security.providers`, the `in_memory` example was updated to the following:
security:
providers:
in_memory:
memory:
users:
user: { password: userpass, roles: [ 'ROLE_USER' ] }
admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
### `app/AppKernel.php`
The following bundles have been added to the list of default registered bundles:
new JMS\AopBundle\JMSAopBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
You must also rename the DoctrineBundle from:
new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
to:
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
### `web/app.php`
The default `web/app.php` file now reads as follows:
<?php
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
// Use APC for autoloading to improve performance.
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts
// with other applications also using APC.
/*
$loader = new ApcClassLoader('sf2', $loader);
$loader->register(true);
*/
require_once __DIR__.'/../app/AppKernel.php';
//require_once __DIR__.'/../app/AppCache.php';
$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
### `web/app_dev.php`
The default `web/app_dev.php` file now reads as follows:
<?php
use Symfony\Component\HttpFoundation\Request;
// If you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information
//umask(0000);
// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1',
'::1',
))
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
<?php
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
class AppCache extends HttpCache
{
}
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new Propel\PropelBundle\PropelBundle(),
new AppBundle\AppBundle(),
new BackendBundle\BackendBundle(),
new CampaniaBundle\CampaniaBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}
{% extends 'base_backend.html.twig' %}
{% block content %}
<!--begin::Subheader-->
<div class="subheader py-2 py-lg-6 subheader-solid " id="kt_subheader">
<div class=" container-fluid d-flex align-items-center justify-content-between flex-wrap flex-sm-nowrap">
<!--begin::Info-->
<div class="d-flex align-items-center flex-wrap mr-1">
<!--begin::Page Heading-->
<div class="d-flex align-items-baseline flex-wrap mr-5">
<!--begin::Page Title-->
<h5 class="text-dark font-weight-bold my-1 mr-5">
Inicio
</h5>
<!--end::Page Title-->
</div>
<!--end::Page Heading-->
</div>
<!--end::Info-->
</div>
</div>
<!--end::Subheader-->
<!--begin::Entry-->
<div class="d-flex flex-column-fluid">
<!--begin::Container-->
<div class=" container ">
<p>Prueba</p>
</div>
<!--end::Container-->
</div>
<!--end::Entry-->
{% endblock %}
<span id="mensaje-carga-selector-columna" style="display:none">Cargando columnas...</span>
<select id="generador-contenido-selector-columna" class="form-control">
<option value="default">--Seleccione una columna--</option>
{%for columna in columnas%}
<option value="{{columna.valor}}" >{{columna.nombre}}</option>
{% endfor %}
</select>
<div class="card-body">
<div class="form-group row">
<div id="contenedor-mensaje-generar-fila" class="col-lg-6">
<b>La sección actual no posee filas.</b><span> Se debe generar una fila para continuar.</span>
</div>
<div class="col-lg-6">
<button id="btnGenerarFila" class="btn btn-primary mr-2" onclick="generateSectionRow(event)">Generar</button>
</div>
</div>
</div>
<div class="card-footer">
</div>
<div class="form-group row">
<div class="col-lg-6">
<select id="generador-contenido-selector-fila" class="form-control">
<option value="default" selected>--Seleccione una fila--</option>
{%for fila in filas%}
<option value="{{fila.getFilId()}}" >Fila {{fila.getFilId()}}</option>
{% endfor %}
</select>
</div>
<div class="col-lg-6">
<button id="btnGenerarFila" class="btn btn-primary mr-2" onclick="generateSectionRow(event)">Nueva Fila</button>
</div>
</div>
<!--begin::Menu Container-->
<div
id="kt_aside_menu"
class="aside-menu my-4 "
data-menu-vertical="1"
data-menu-scroll="1" data-menu-dropdown-timeout="500">
<!--begin::Menu Nav-->
<ul class="menu-nav ">
{% set route = app.request.get('_route') %}
<li class="menu-item " aria-haspopup="true" >
<a href="{{path('backend_fast_view')}}" class="menu-link "><i class="menu-icon flaticon-home"></i><span class="menu-text">Inicio</span></a>
</li>
<li class="menu-item menu-item-submenu" aria-haspopup="true" data-menu-toggle="hover">
<a href="javascript:;" class="menu-link menu-toggle"><i class="menu-icon flaticon-web"></i>
<span class="menu-text">Campañas</span><i class="menu-arrow"></i>
</a>
<div class="menu-submenu "><i class="menu-arrow"></i>
<ul class="menu-subnav">
<li class="menu-item menu-item-parent" aria-haspopup="true" >
<span class="menu-link">
<span class="menu-text">Funciones Campañas</span>
</span>
</li>
{%if is_granted('ROLE_ADMIN')%}
<li class="menu-item " aria-haspopup="true" >
<a href="{{path('campania_crear')}}" class="menu-link {% if route == 'campania_crear' %}active{% endif %}"><i class="menu-bullet menu-bullet-line"><span></span></i>
<span class="menu-text">Crear Campaña</span></a>
</li>
{% endif %}
<li class="menu-item " aria-haspopup="true" >
<a href="#" class="menu-link "><i class="menu-bullet menu-bullet-line"><span></span></i>
<span class="menu-text">Listado Campaña</span></a>
</li>
</ul>
</div>
</li>
</ul>
<!--end::Menu Nav-->
</div>
<!--end::Menu Container-->
\ No newline at end of file
<div id="mensaje-exito" class="alert alert-custom alert-success" role="alert" style="display:none">
<div class="alert-icon"><i class="flaticon-warning"></i></div>
<div id="contenido-mensaje-exito" class="alert-text"></div>
</div>
<div id="mensaje-error" class="alert alert-custom alert-danger" role="alert" style="display:none">
<div class="alert-icon"><i class="flaticon-warning"></i></div>
<div id="contenido-mensaje-error" class="alert-text"></div>
</div>
<!-- begin::User Panel-->
<div id="kt_quick_user" class="offcanvas offcanvas-right p-10">
<!--begin::Header-->
<div class="offcanvas-header d-flex align-items-center justify-content-between pb-5">
<h3 class="font-weight-bold m-0">
Perfil Usuario
<small class="text-muted font-size-sm ml-2"></small>
</h3>
<a href="#" class="btn btn-xs btn-icon btn-light btn-hover-primary" id="kt_quick_user_close">
<i class="ki ki-close icon-xs text-muted"></i>
</a>
</div>
<!--end::Header-->
<!--begin::Content-->
<div class="offcanvas-content pr-5 mr-n5">
<!--begin::Header-->
<div class="d-flex align-items-center mt-5">
<div class="symbol symbol-100 mr-5">
<div class="symbol-label" style="background-image:url('{{asset('assets/backend_assets/assets/media/users/300_21.jpg')}}"></div>
<i class="symbol-badge bg-success"></i>
</div>
<div class="d-flex flex-column">
<a href="#" class="font-weight-bold font-size-h5 text-dark-75 text-hover-primary">
{{ app.session.get('usuario_nombres') }}
</a>
<div class="text-muted mt-1">
{{ app.session.get('empresa_nombre') }}
</div>
<div class="navi mt-2">
<a href="#" class="navi-item">
<span class="navi-link p-0 pb-2">
<span class="navi-icon mr-1">
<span class="svg-icon svg-icon-lg svg-icon-primary"><!--begin::Svg Icon | path:assets/media/svg/icons/Communication/Mail-notification.svg--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"/>
<path d="M21,12.0829584 C20.6747915,12.0283988 20.3407122,12 20,12 C16.6862915,12 14,14.6862915 14,18 C14,18.3407122 14.0283988,18.6747915 14.0829584,19 L5,19 C3.8954305,19 3,18.1045695 3,17 L3,8 C3,6.8954305 3.8954305,6 5,6 L19,6 C20.1045695,6 21,6.8954305 21,8 L21,12.0829584 Z M18.1444251,7.83964668 L12,11.1481833 L5.85557487,7.83964668 C5.4908718,7.6432681 5.03602525,7.77972206 4.83964668,8.14442513 C4.6432681,8.5091282 4.77972206,8.96397475 5.14442513,9.16035332 L11.6444251,12.6603533 C11.8664074,12.7798822 12.1335926,12.7798822 12.3555749,12.6603533 L18.8555749,9.16035332 C19.2202779,8.96397475 19.3567319,8.5091282 19.1603533,8.14442513 C18.9639747,7.77972206 18.5091282,7.6432681 18.1444251,7.83964668 Z" fill="#000000"/>
<circle fill="#000000" opacity="0.3" cx="19.5" cy="17.5" r="2.5"/>
</g>
</svg><!--end::Svg Icon--></span>
</span>
<span class="navi-text text-muted text-hover-primary">{{app.session.get('usuario_email')}}</span>
</span>
</a>
<a href="{{path("backend_logout")}}" class="btn btn-sm btn-light-primary font-weight-bolder py-2 px-5">Salir</a>
</div>
</div>
</div>
<!--end::Header-->
<!--begin::Separator-->
<div class="separator separator-dashed mt-8 mb-5"></div>
<!--end::Separator-->
<!--begin::Nav-->
<div class="navi navi-spacer-x-0 p-0">
</div>
<!--end::Nav-->
<!--begin::Separator-->
<div class="separator separator-dashed my-7"></div>
<!--end::Separator-->
</div>
<!--end::Content-->
</div>
<!-- end::User Panel-->
<div class="modal fade" id="generar-contenido-modal" data-backdrop="static" tabindex="-1" role="dialog" aria-labelledby="staticBackdrop" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Generar Contenido</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<i aria-hidden="true" class="ki ki-close"></i>
</button>
</div>
<div class="modal-body">
<div class="card card-custom">
<div class="card-header">
<h3 class="card-title">
</h3>
</div>
<!--begin::Form-->
<form class="form">
<div class="card-body">
<div class="form-group">
{%include 'backend_content/includes/messages.html.twig'%}
</div>
<div class="form-group form-group-last">
</div>
<div class="form-group">
<label>Sección</label>
<select id="generador-contenido-selector-seccion" class="form-control">
<option value="default">--Seleccione una sección--</option>
{%for seccion in secciones%}
<option value="{{seccion.getSecId()}}" {%if seccion.getSecId() == 1%} selected {%endif%}>{{seccion.getSecNombre()}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Tipo</label>
<select id="generador-contenido-selector-tipo" class="form-control">
<option value="default">--Seleccione un tipo--</option>
{%for tipo in tipos%}
<option value="{{tipo.getTipId()}}" {%if tipo.getTipId() == 1%} selected {%endif%}>{{tipo.getTipNombre()}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Entorno</label>
<select id="generador-contenido-selector-disposicion-entorno" class="form-control">
<option value="default">--Seleccione un entorno--</option>
{%for disposicionEntorno in disposicionesEntornos%}
<option value="{{disposicionEntorno.getDisId()}}" >{{disposicionEntorno.getDisNombre()}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Filas</label>
<div id="filaProcessContainer">
{% if countFilas > 0 %}
{%include 'backend_content/includes/filaSelector.html.twig'%}
{% else %}
{%include 'backend_content/includes/crearFila.html.twig'%}
{% endif %}
</div>
</div>
<div id="columnContainer" style="display: {%if countFilas > 0 %} block {%else%} none {%endif%}">
<div class="form-group">
<label>Dispocición Columnas</label>
<select id="generador-contenido-selector-disposicion-entorno" class="form-control">
<option value="default">--Seleccione una disposición--</option>
{%for disposicionColumnaFila in disposicionesColumnasFilas%}
<option value="{{disposicionColumnaFila.getDcoId()}}" {%if disposicionColumnaFila.getDcoId() == 1%} selected {% endif %}>{{disposicionColumnaFila.getDcoNombre()}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Columna</label>
<div id="columnaProcessContainer">
{%include 'backend_content/includes/columnaSelector.html.twig'%}
</div>
</div>
<div class="form-group">
<label for="exampleTextarea">Contenido</label>
<textarea class="form-control" disabled="disabled" rows="10"></textarea>
</div>
</div>
</div>
<div class="card-footer">
</div>
</form>
<!--end::Form-->
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-light-primary font-weight-bold" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary font-weight-bold">Guardar</button>
</div>
</div>
</div>
</div>
<table class="table table-separate table-head-custom table-checkable" id="campania_content_table">
<thead>
<tr>
<th>ID</th>
<th>Contenido</th>
<th>Sección</th>
<th>Orden</th>
<th>Tipo</th>
<th>Estado</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus eu quam nulla. Aenean pretium magna quis nisl facilisis, ac volutpat ipsum sagittis. Maecenas tincidunt tellus eu nulla laoreet posuere. Phasellus sed arcu a metus sodales suscipit at id orci. Suspendisse dapibus iaculis ex et volutpat. Fusce id nisi id neque efficitur mattis nec eget eros. Quisque congue, dolor vitae euismod efficitur, nibh massa ultricies massa, a sollicitudin libero dui et risus. Sed leo ligula, placerat eget risus faucibus, elementum tempor dolor.</td>
<td>Cuerpo</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td nowrap>
<a href="#" class="navi-link">
<span class="navi-icon"><i class="la la-edit"></i></span>
</a>
<a href="#" class="navi-link">
<span class="navi-icon"><i class="la la-trash"></i></span>
</a>
</td>
</tr>
</tbody>
</table>
<div class="card-toolbar">
<!--begin::Button-->
<a href="#" onclick="showModal(event)" class="btn btn-primary font-weight-bolder">
<span class="svg-icon svg-icon-md"><!--begin::Svg Icon | path:assets/media/svg/icons/Design/Flatten.svg--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" version="1.1">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect x="0" y="0" width="24" height="24"/>
<circle fill="#000000" cx="9" cy="15" r="6"/>
<path d="M8.8012943,7.00241953 C9.83837775,5.20768121 11.7781543,4 14,4 C17.3137085,4 20,6.6862915 20,10 C20,12.2218457 18.7923188,14.1616223 16.9975805,15.1987057 C16.9991904,15.1326658 17,15.0664274 17,15 C17,10.581722 13.418278,7 9,7 C8.93357256,7 8.86733422,7.00080962 8.8012943,7.00241953 Z" fill="#000000" opacity="0.3"/>
</g>
</svg><!--end::Svg Icon--></span> Agregar Nuevo Contenido
</a>
<!--end::Button-->
</div>
This diff is collapsed.
<!DOCTYPE html>
<!--
Template Name: Metronic - Bootstrap 4 HTML, React, Angular 9 & VueJS Admin Dashboard Theme
Author: KeenThemes
Website: http://www.keenthemes.com/
Contact: support@keenthemes.com
Follow: www.twitter.com/keenthemes
Dribbble: www.dribbble.com/keenthemes
Like: www.facebook.com/keenthemes
Purchase: https://1.envato.market/EA4JP
Renew Support: https://1.envato.market/EA4JP
License: You must have a valid license purchased only from themeforest(the above link) in order to legally use the theme for your project.
-->
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Backend - Login{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<!--begin::Head-->
<meta charset="utf-8"/>
<title>Mcafee Login</title>
<meta name="description" content="Login page example"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<link rel="canonical" href="https://keenthemes.com/metronic"/>
<!--begin::Fonts-->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"/>
<!--end::Fonts-->
<!--begin::Page Custom Styles(used by this page)-->
<link href="{{asset('assets/login_assets/assets/css/pages/login/login-1.css')}}" rel="stylesheet" type="text/css"/>
<!--end::Page Custom Styles-->
<!--begin::Global Theme Styles(used by all pages)-->
<link href="{{asset('assets/login_assets/assets/plugins/global/plugins.bundle.css')}}" rel="stylesheet" type="text/css"/>
<link href="{{asset('assets/login_assets/assets/plugins/custom/prismjs/prismjs.bundle.css')}}" rel="stylesheet" type="text/css"/>
<link href="{{asset('assets/login_assets/assets/css/style.bundle.css')}}" rel="stylesheet" type="text/css"/>
<!--end::Global Theme Styles-->
<!--begin::Layout Themes(used by all pages)-->
<!--end::Layout Themes-->
<link rel="shortcut icon" href="{{asset('assets/login_assets/assets/media/logos/favicon.ico')}}"/>
</head>
<!--end::Head-->
<body id="kt_body" class="header-fixed header-mobile-fixed subheader-enabled subheader-fixed aside-enabled aside-fixed page-loading" >
<!--begin::Main-->
<div class="d-flex flex-column flex-root">
{% block body %}{% endblock %}
</div>
<!--end::Main-->
<script>var HOST_URL = "https://preview.keenthemes.com/metronic/theme/html/tools/preview";</script>
<!--begin::Global Config(global config for global JS scripts)-->
<script>
var KTAppSettings = {
"breakpoints": {
"sm": 576,
"md": 768,
"lg": 992,
"xl": 1200,
"xxl": 1400
},
"colors": {
"theme": {
"base": {
"white": "#ffffff",
"primary": "#3699FF",
"secondary": "#E5EAEE",
"success": "#1BC5BD",
"info": "#8950FC",
"warning": "#FFA800",
"danger": "#F64E60",
"light": "#E4E6EF",
"dark": "#181C32"
},
"light": {
"white": "#ffffff",
"primary": "#E1F0FF",
"secondary": "#EBEDF3",
"success": "#C9F7F5",
"info": "#EEE5FF",
"warning": "#FFF4DE",
"danger": "#FFE2E5",
"light": "#F3F6F9",
"dark": "#D6D6E0"
},
"inverse": {
"white": "#ffffff",
"primary": "#ffffff",
"secondary": "#3F4254",
"success": "#ffffff",
"info": "#ffffff",
"warning": "#ffffff",
"danger": "#ffffff",
"light": "#464E5F",
"dark": "#ffffff"
}
},
"gray": {
"gray-100": "#F3F6F9",
"gray-200": "#EBEDF3",
"gray-300": "#E4E6EF",
"gray-400": "#D1D3E0",
"gray-500": "#B5B5C3",
"gray-600": "#7E8299",
"gray-700": "#5E6278",
"gray-800": "#3F4254",
"gray-900": "#181C32"
}
},
"font-family": "Poppins"
};
</script>
<!--end::Global Config-->
<!--begin::Global Theme Bundle(used by all pages)-->
<script src="{{asset('assets/login_assets/assets/plugins/global/plugins.bundle.js')}}"></script>
<script src="{{asset('assets/login_assets/assets/plugins/custom/prismjs/prismjs.bundle.js')}}"></script>
<script src="{{asset('assets/login_assets/assets/js/scripts.bundle.js')}}"></script>
<!--end::Global Theme Bundle-->
<!--begin::Page Scripts(used by this page)-->
<script src="{{asset('assets/login_assets/gearlabs_assets/js/login-general-gl.min.js')}}"></script>
<!--end::Page Scripts-->
{% block javascripts %}{% endblock %}
</body>
</html>
{% if app.session.flashbag.has('success') %}
<div class="alert alert-success">
<span class="close" data-dismiss="alert">×</span>
{% for flashMessage in app.session.flashbag.get('success') %}
{{ flashMessage }}<br>
{% endfor %}
</div>
{% endif %}
{% if app.session.flashbag.has('error') %}
<div class="alert alert-danger">
<span class="close" data-dismiss="alert">×</span>
{% for flashMessage in app.session.flashbag.get('error') %}
{{ flashMessage }}<br>
{% endfor %}
</div>
{% endif %}
{% if app.session.flashbag.has('info') %}
<div class="alert alert-info">
<span class="close" data-dismiss="alert">×</span>
{% for flashMessage in app.session.flashbag.get('info') %}
{{ flashMessage }}<br>
{% endfor %}
</div>
{% endif %}
{% if app.session.flashbag.has('warning') %}
<div class="alert alert-warning">
<span class="close" data-dismiss="alert">×</span>
{% for flashMessage in app.session.flashbag.get('warning') %}
{{ flashMessage }}<br>
{% endfor %}
</div>
{% endif %}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?php
use Doctrine\Common\Annotations\AnnotationRegistry;
use Composer\Autoload\ClassLoader;
/** @var ClassLoader $loader */
$loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;
<?php
require_once dirname(__FILE__).'/SymfonyRequirements.php';
$lineSize = 70;
$symfonyRequirements = new SymfonyRequirements();
$iniPath = $symfonyRequirements->getPhpIniConfigPath();
echo_title('Symfony Requirements Checker');
echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) {
echo_style('green', ' '.$iniPath);
} else {
echo_style('yellow', ' WARNING: No configuration file (php.ini) used by PHP!');
}
echo PHP_EOL.PHP_EOL;
echo '> Checking Symfony requirements:'.PHP_EOL.' ';
$messages = array();
foreach ($symfonyRequirements->getRequirements() as $req) {
if ($helpText = get_error_message($req, $lineSize)) {
echo_style('red', 'E');
$messages['error'][] = $helpText;
} else {
echo_style('green', '.');
}
}
$checkPassed = empty($messages['error']);
foreach ($symfonyRequirements->getRecommendations() as $req) {
if ($helpText = get_error_message($req, $lineSize)) {
echo_style('yellow', 'W');
$messages['warning'][] = $helpText;
} else {
echo_style('green', '.');
}
}
if ($checkPassed) {
echo_block('success', 'OK', 'Your system is ready to run Symfony projects');
} else {
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects');
echo_title('Fix the following mandatory requirements', 'red');
foreach ($messages['error'] as $helpText) {
echo ' * '.$helpText.PHP_EOL;
}
}
if (!empty($messages['warning'])) {
echo_title('Optional recommendations to improve your setup', 'yellow');
foreach ($messages['warning'] as $helpText) {
echo ' * '.$helpText.PHP_EOL;
}
}
echo PHP_EOL;
echo_style('title', 'Note');
echo ' The command console could use a different php.ini file'.PHP_EOL;
echo_style('title', '~~~~');
echo ' than the one used with your web server. To be on the'.PHP_EOL;
echo ' safe side, please check the requirements from your web'.PHP_EOL;
echo ' server using the ';
echo_style('yellow', 'web/config.php');
echo ' script.'.PHP_EOL;
echo PHP_EOL;
exit($checkPassed ? 0 : 1);
function get_error_message(Requirement $requirement, $lineSize)
{
if ($requirement->isFulfilled()) {
return;
}
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
return $errorMessage;
}
function echo_title($title, $style = null)
{
$style = $style ?: 'title';
echo PHP_EOL;
echo_style($style, $title.PHP_EOL);
echo_style($style, str_repeat('~', strlen($title)).PHP_EOL);
echo PHP_EOL;
}
function echo_style($style, $message)
{
// ANSI color codes
$styles = array(
'reset' => "\033[0m",
'red' => "\033[31m",
'green' => "\033[32m",
'yellow' => "\033[33m",
'error' => "\033[37;41m",
'success' => "\033[37;42m",
'title' => "\033[34m",
);
$supports = has_color_support();
echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : '');
}
function echo_block($style, $title, $message)
{
$message = ' '.trim($message).' ';
$width = strlen($message);
echo PHP_EOL.PHP_EOL;
echo_style($style, str_repeat(' ', $width).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_repeat(' ', $width).PHP_EOL);
}
function has_color_support()
{
static $support;
if (null === $support) {
if (DIRECTORY_SEPARATOR == '\\') {
$support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
} else {
$support = function_exists('posix_isatty') && @posix_isatty(STDOUT);
}
}
return $support;
}
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@BackendBundle/Resources/config/services.yml" }
- { resource: "@CampaniaBundle/Resources/config/services.yml" }
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: es
framework:
#esi: ~
#translator: { fallbacks: ['%locale%'] }
secret: '%secret%'
router:
resource: '%kernel.root_dir%/config/routing.yml'
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
#serializer: { enable_annotations: true }
templating:
engines: ['twig']
default_locale: '%locale%'
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
fragments: ~
http_method_override: true
# Twig Configuration
twig:
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: '%kernel.root_dir%/data/data.db3'
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: '%database_path%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@WooCommerceAdminBundle/Resources/config/services.yml" }
- { resource: "@AdministratorBundle/Resources/config/services.yml" }
- { resource: "@BackendUsuarioBundle/Resources/config/services.yml" }
# Put parameters here that don't need to change on each machine where the app is deployed
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: es
framework:
#esi: ~
translator: { fallbacks: ["%locale%"] }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
#serializer: { enable_annotations: true }
templating:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
fragments: ~
http_method_override: true
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
port: "%mailer_port%"
encryption: "%mailer_encryption%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
propel:
dbal:
default_connection: conn1
connections:
conn1:
driver: %database_driver%
user: %database_user%
password: %database_password%
dsn: %database_driver%:host=%database_host%;dbname=%database_name%;charset=UTF8
options: {}
attributes: {}
imports:
- { resource: config.yml }
framework:
router:
resource: '%kernel.root_dir%/config/routing_dev.yml'
strict_requirements: true
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
intercept_redirects: false
monolog:
handlers:
main:
type: stream
path: '%kernel.logs_dir%/%kernel.environment%.log'
level: debug
channels: ['!event']
console:
type: console
channels: ['!event', '!doctrine']
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
#swiftmailer:
# delivery_addresses: ['me@example.com']
imports:
- { resource: config.yml }
#framework:
# validation:
# cache: validator.mapping.cache.doctrine.apc
# serializer:
# cache: serializer.mapping.cache.apc
#doctrine:
# orm:
# metadata_cache_driver: apc
# result_cache_driver: apc
# query_cache_driver: apc
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: '%kernel.logs_dir%/%kernel.environment%.log'
level: debug
console:
type: console
imports:
- { resource: config_dev.yml }
framework:
test: ~
session:
storage_id: session.storage.mock_file
profiler:
collect: false
web_profiler:
toolbar: false
intercept_redirects: false
swiftmailer:
disable_delivery: true
# This file is a "template" of what your parameters.yml file should look like
# Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
# You should uncomment this if you want to use pdo_sqlite
#database_path: "%kernel.root_dir%/data.db3"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
mailer_port: ~
mailer_encryption: ~
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
jms_serializer.camel_case_naming_strategy.class: ~
campania:
resource: "@CampaniaBundle/Resources/config/routing.yml"
prefix: /backend/campania
backend:
resource: "@BackendBundle/Resources/config/routing.yml"
prefix: /backend
_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt
_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler
_errors:
resource: '@TwigBundle/Resources/config/routing/errors.xml'
prefix: /_error
_main:
resource: routing.yml
# To get started with security, check out the documentation:
# http://symfony.com/doc/current/security.html
security:
# http://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
providers:
backend_backendusuario_provider:
id: backend_provider
encoders:
AppBundle\Model\BackendUsuario:
algorithm: bcrypt
cost: 12
Symfony\Component\Security\Core\User\User: plaintext
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
login_backend_firewall:
pattern: ^/backend/login$
anonymous: ~
security: false
backend_secured_area:
pattern: ^/backend
provider: backend_backendusuario_provider
form_login:
login_path: backend_login
check_path: backend_login_check
default_target_path: backend_fast_view
csrf_token_generator: security.csrf.token_manager
remember_me: true
logout:
path: /backend/logout
target: /backend/login
security: true
anonymous: false
remember_me:
name: REMEMBERMEBACKENDMCAFEE
secret: '%secret%'
lifetime: 31536000 # 365 days in seconds
path: /backend
always_remember_me: true
remember_me_parameter: _remember_me
domain: ~ # Defaults to the current domain from $_SERVER
access_denied_url: /backend/login
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
# activate different ways to authenticate
# http_basic: ~
# http://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
# form_login: ~
# http://symfony.com/doc/current/cookbook/security/form_login_setup.html
access_control:
- { path: ^/backend/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/backend/*, roles: [ROLE_ADMIN, ROLE_USER, ROLE_OBSERVER]}
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_OBSERVER]
# Learn more about services, parameters and containers at
# https://symfony.com/doc/current/service_container.html
parameters:
#parameter_name: value
#upload_dir: '../web/empresas/campania'
services:
# service_name:
# class: AppBundle\Directory\ClassName
# arguments: ["@another_service_name", "plain_value", "%parameter_name%"]
backend_provider: { class: BackendBundle\Provider\BackendUsuarioProvider ,property: busEmail}
security.interactive_login.listener:
class: BackendBundle\Listener\UserLoginInteractive
arguments: ["@service_container"]
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onSecurityInteractiveLogin }
#!/usr/bin/env php
<?php
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
// if you don't want to setup permissions the proper way, just uncomment the following PHP line
// read https://symfony.com/doc/current/setup.html#checking-symfony-application-configuration-and-setup
// for more information
//umask(0000);
set_time_limit(0);
require __DIR__.'/autoload.php';
$input = new ArgvInput();
$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod';
if ($debug) {
Debug::enable();
}
$kernel = new AppKernel($env, $debug);
$application = new Application($kernel);
$application->run($input);
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.8/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="autoload.php"
>
<php>
<ini name="error_reporting" value="-1" />
<!--
<server name="KERNEL_DIR" value="/path/to/your/app/" />
-->
</php>
<testsuites>
<testsuite name="Project Test Suite">
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
<directory>../src/*Bundle/Tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>../src</directory>
<exclude>
<directory>../src/*Bundle/Resources</directory>
<directory>../src/*Bundle/Tests</directory>
<directory>../src/*/*Bundle/Resources</directory>
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Resources</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
</exclude>
</whitelist>
</filter>
</phpunit>
This diff is collapsed.
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"autoload-dev": {
"files": [ "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" ]
},
"require": {
"php": ">=5.3.9",
"doctrine/doctrine-bundle": "~1.4",
"doctrine/orm": "^2.4.8",
"incenteev/composer-parameter-handler": "~2.0",
"sensio/distribution-bundle": "~4.0",
"jms/serializer-bundle": "^1.1",
"propel/propel-bundle": "^1.5",
"sensio/framework-extra-bundle": "^3.0.2",
"symfony/monolog-bundle": "^3.0.2",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/symfony": "2.8.*",
"twig/twig": "^1.0||^2.0"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.6"
},
"sort-packages": true
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
This diff is collapsed.
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
"autoload-dev": {
"files": [ "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" ]
},
"require": {
"php": ">=5.3.9",
"automattic/woocommerce": "^3.0",
"doctrine/doctrine-bundle": "~1.4",
"doctrine/orm": "^2.4.8",
"dompdf/dompdf": "^0.8.3",
"incenteev/composer-parameter-handler": "~2.0",
"jms/serializer-bundle": "^1.1",
"longman/telegram-bot": "^0.63.1",
"propel/propel-bundle": "^1.5",
"sensio/framework-extra-bundle": "^3.0.2",
"symfony/monolog-bundle": "^3.0.2",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/symfony": "2.8.5",
"sensio/distribution-bundle": "~5.0",
"treinetic/imageartist": "^1.0",
"twig/twig": "^1.5"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.6"
},
"sort-packages": true
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
This diff is collapsed.
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
"autoload-dev": {
"files": [ "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" ]
},
"require": {
"php": ">=5.3.9",
"automattic/woocommerce": "^3.0",
"doctrine/doctrine-bundle": "~1.4",
"doctrine/orm": "^2.4.8",
"dompdf/dompdf": "^0.8.3",
"incenteev/composer-parameter-handler": "~2.0",
"jms/serializer-bundle": "^1.1",
"longman/telegram-bot": "^0.63.1",
"propel/propel-bundle": "^1.5",
"sensio/framework-extra-bundle": "^3.0.2",
"symfony/monolog-bundle": "^3.0.2",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/symfony": "2.8.5",
"sensio/distribution-bundle": "~5.0",
"treinetic/imageartist": "^1.0",
"twig/twig": "^1.5"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.6"
},
"sort-packages": true
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
include.path=${php.global.include.path}
php.version=PHP_70
source.encoding=UTF-8
src.dir=src
tags.asp=false
tags.short=false
web.root=.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.php.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/php-project/1">
<name>backend-mcafee</name>
</data>
</configuration>
</project>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
<?php
namespace AppBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppBundle extends Bundle
{
}
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request)
{
// replace this example code with whatever you need
return $this->render('default/index.html.twig', array(
'base_dir' => realpath($this->container->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
));
}
}
This diff is collapsed.
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendRol;
class BackendRol extends BaseBackendRol {
/**
* Administrador de empresa
*/
const ROLE_GOD = 1;
/**
* Editor de BACKEND
*/
const ROLE_ADMIN = 2;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendRolPeer;
class BackendRolPeer extends BaseBackendRolPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendRolQuery;
class BackendRolQuery extends BaseBackendRolQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendUsuario;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
class BackendUsuario extends BaseBackendUsuario implements AdvancedUserInterface {
const ELIMINADO_TRUE = 1;
const ELIMINADO_FALSE = 0;
const ESTADO_NO_VALIDADO = -1;
const ESTADO_INACTIVO = 0;
const ESTADO_ACTIVO = 1;
/**
* estado utilizado para marcar usuarios a los que se les reseteo la clave y deben cambiarla
*/
const ESTADO_CLAVE_DEFAULT = 2;
const DIAS_EXPIRACION_CTA = 90;
const DIAS_CAMBIO_CLAVE = 45;
const MAX_NRO_ACCESOS_ERRONEOS = 4;
const PASS_MAX_LENGTH = 16;
const PASS_MIN_LENGTH = 8;
public function eraseCredentials() {
}
public function getPassword() {
return $this->getBusClave();
}
public function getRoles() {
$roles = array();
//$this->getBackendusuarioBackendrols();
foreach ($this->getBackendusuarioBackendrols() as $backendusuarioBackendrol):
$roles [] = $backendusuarioBackendrol->getBackendRol()->getBroRol();
endforeach;
return $roles;
}
public function getObjetoRol() {
return BackendusuarioBackendrolQuery::create()
->filterByBackendUsuario($this)
->findOne();
}
public function getObjetoRoles() {
return BackendRolQuery::create()
->useBackendusuarioBackendrolQuery()
->filterByBackendUsuario($this)
->endUse()
->find();
}
/**
* Obtiene el nombre del rol asociado al usuario, en base a la relación generada.
* @return string
*/
public function getNombreRol(){
$nombre = "";
$relacionRol = BackendusuarioBackendrolQuery::create()
->filterByBackendUsuario($this)
->findOne();
switch($relacionRol->getBroId()){
case BackendRol::ROLE_SUPER_ADMIN_ID :
$nombre = "Administrador";
break;
case BackendRol::ROLE_BACKEND_ADMIN_ID :
$nombre ="Editor";
break;
case BackendRol::ROLE_CAT_CORP_ADMIN_ID :
$nombre = "Supervisor Asistente";
break;
case BackendRol::ROLE_CAT_CORP_ID :
$nombre = "Asistente";
break;
case BackendRol::ROLE_BACKEND_NORMAL_ID:
$nombre = "Analista";
break;
case BackendRol::ROLE_GOD_ID:
$nombre = "Supervisor";
break;
default:
$nombre = "S/r";
break;
}
return $nombre ;
}
/**
* Función ue permite obtener el estado del usuario.
* @return string
*/
public function getEstado(){
$str = "";
switch ($this->getBusEstado()) {
case self::ESTADO_NO_VALIDADO;
$str = "CUENTA NO VALIDADA";
break;
case self::ESTADO_INACTIVO;
$str = "CUENTA INACTIVA";
break;
case self::ESTADO_ACTIVO;
$str = "CUENTA ACTIVA";
break;
case self::ESTADO_CLAVE_DEFAULT;
$str = "CUENTA ACTIVA";
break;
default:
break;
}
return $str;
}
public function getSalt() {
}
public function getUsername() {
return $this->getBusEmail();
}
public function getId() {
return $this->getBusId();
}
public function getEmp() {
return $this->getEmpId();
}
public function isAccountNonExpired() {
return true;
}
public function isAccountNonLocked() {
return true;
}
public function isCredentialsNonExpired() {
return true;
}
public function isEnabled() {
$arrayValido = array(self::ESTADO_ACTIVO, self::ESTADO_CLAVE_DEFAULT);
return in_array($this->getBusEstado(), $arrayValido);
}
public function poseeRol($bro_id) {
$count = BackendusuarioBackendrolQuery::create()
->filterByBroId($bro_id)
->filterByBusId($this->getBusId())
->count();
if ($count > 0) {
return true;
}
return false;
}
/**
* Verifica si usuarioBackend pertenece a empresa
* @param int $empId
* @return boolean
*/
public function perteneceAEmpresa($empId) {
if($this->getEmpId() == $empId)
return true;
else
return false;
}
/**
* retorna un array que contiene un boleano en la key 'result' indicando la valides de la pass,
* y una key 'info' indicando el detalle de la validez
*
* @param string $pass
* @return string
*/
public function isValidPass($pass) {
$result = [
"result" => TRUE,
"info" => "valid",
];
if (strlen($pass) < self::PASS_MIN_LENGTH) {
$result['result'] = FALSE;
$result['info'] = "La clave tiene un largo menor a ".self::PASS_MIN_LENGTH." caracteres";
return $result;
}
if (strlen($pass) > self::PASS_MAX_LENGTH) {
$result['result'] = FALSE;
$result['info'] = "La clave tiene un largo mayor a ".self::PASS_MAX_LENGTH." caracteres";
return $result;
}
// if (!preg_match('`[a-z]`', $pass)) {
//
// $result['result'] = FALSE;
// $result['info'] = "La clave no contiene ninguna letra minúscula";
// return $result;
// }
// if (!preg_match('`[A-Z]`', $pass)) {
// $result['result'] = FALSE;
// $result['info'] = "La clave no contiene ninguna letra mayúscula";
// return $result;
// }
// if (!preg_match('`[0-9]`', $pass)) {
// $result['result'] = FALSE;
// $result['info'] = "La clave no contiene ningun número";
// return $result;
// }
return $result;
}
public function estaValidado() {
if($this->getBusEstado() == self::ESTADO_NO_VALIDADO)
return false;
else
return true;
}
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendUsuarioPeer;
class BackendUsuarioPeer extends BaseBackendUsuarioPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendUsuarioQuery;
class BackendUsuarioQuery extends BaseBackendUsuarioQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendusuarioBackendrol;
class BackendusuarioBackendrol extends BaseBackendusuarioBackendrol
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendusuarioBackendrolPeer;
class BackendusuarioBackendrolPeer extends BaseBackendusuarioBackendrolPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseBackendusuarioBackendrolQuery;
class BackendusuarioBackendrolQuery extends BaseBackendusuarioBackendrolQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampania;
class Campania extends BaseCampania
{
/*Definiciones Tipo Elementos*/
const TIPO_NORMAL = 1;
/*Definiciones Estados*/
const ESTADO_ACTIVO = 1;
const ESTADO_INACTIVO = 2;
/*Eliminado*/
const ELIMINADO_FALSE = 0;
const ELIMINADO_TRUE = 1;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampaniaContenido;
class CampaniaContenido extends BaseCampaniaContenido
{
/*Definiciones Tipo Elementos*/
const TIPO_TEXTO = 1;
const TIPO_IMAGEN = 2;
const TIPO_VIDEO = 3;
const SECCION_HEAD = 1;
const SECCION_BODY = 2;
const SECCION_FOOTER = 3;
/*Definiciones Estados*/
const ESTADO_ACTIVO = 1;
const ESTADO_INACTIVO = 2;
/*Eliminado*/
const ELIMINADO_TRUE = 1;
const ELIMINADO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampaniaContenidoPeer;
class CampaniaContenidoPeer extends BaseCampaniaContenidoPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampaniaContenidoQuery;
class CampaniaContenidoQuery extends BaseCampaniaContenidoQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampaniaPeer;
class CampaniaPeer extends BaseCampaniaPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseCampaniaQuery;
class CampaniaQuery extends BaseCampaniaQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicion;
class Disposicion extends BaseDisposicion
{
const ELIMINADO_TRUE =1;
const ELIMINADO_FALSE = 0;
const ACTIVO_TRUE = 1;
const ACTIVO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicionColumnas;
class DisposicionColumnas extends BaseDisposicionColumnas
{
const DISPOSICION_1 = 1;
const DISPOSICION_2 = 2;
const DISPOSICION_3 = 3;
const DISPOSICION_4 = 4;
const DISPOSICION_5 = 5;
const DISPOSICION_6 = 6;
const DISPOSICION_7 = 7;
const DISPOSICION_8 = 8;
const ELIMINADO_TRUE =1;
const ELIMINADO_FALSE = 0;
const ACTIVO_TRUE = 1;
const ACTIVO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicionColumnasPeer;
class DisposicionColumnasPeer extends BaseDisposicionColumnasPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicionColumnasQuery;
class DisposicionColumnasQuery extends BaseDisposicionColumnasQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicionPeer;
class DisposicionPeer extends BaseDisposicionPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseDisposicionQuery;
class DisposicionQuery extends BaseDisposicionQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseEmpresa;
class Empresa extends BaseEmpresa
{
const EMPRESA_ACTIVA = 1;
const EMPRESA_INACTIVA = 0;
const EMPRESA_ELIMINADA_TRUE = 1;
const EMPRESA_ELIMINADA_FALSE = 0;
/**
* Verifica si backend usuario pertenece a empresa
* @param int $empId
* @return boolean
*/
public function perteneceBackendUsuarioAEmpresa($empId) {
if ($this->getEmpId() == $empId)
return true;
else
return false;
}
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseEmpresaPeer;
class EmpresaPeer extends BaseEmpresaPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseEmpresaQuery;
class EmpresaQuery extends BaseEmpresaQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseFila;
class Fila extends BaseFila
{
const ELIMINADO_TRUE =1;
const ELIMINADO_FALSE = 0;
const ACTIVO_TRUE = 1;
const ACTIVO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseFilaPeer;
class FilaPeer extends BaseFilaPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseFilaQuery;
class FilaQuery extends BaseFilaQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseParametroConfiguracion;
class ParametroConfiguracion extends BaseParametroConfiguracion
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseParametroConfiguracionPeer;
class ParametroConfiguracionPeer extends BaseParametroConfiguracionPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseParametroConfiguracionQuery;
class ParametroConfiguracionQuery extends BaseParametroConfiguracionQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseSeccion;
class Seccion extends BaseSeccion
{
const SECCION_HEAD = 1;
const SECCION_BODY = 2;
const SECCION_FOOTER = 3;
const ELIMINADO_TRUE =1;
const ELIMINADO_FALSE = 0;
const ACTIVO_TRUE = 1;
const ACTIVO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseSeccionPeer;
class SeccionPeer extends BaseSeccionPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseSeccionQuery;
class SeccionQuery extends BaseSeccionQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTemplate;
class Template extends BaseTemplate
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTemplatePeer;
class TemplatePeer extends BaseTemplatePeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTemplateQuery;
class TemplateQuery extends BaseTemplateQuery
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTipo;
class Tipo extends BaseTipo
{
const TIPO_TEXTO = 1;
const TIPO_IMAGEN = 2;
const TIPO_VIDEO = 3;
/*Definiciones Estados*/
const ACTIVO_TRUE = 1;
const ACTIVO_FALSE = 2;
/*Eliminado*/
const ELIMINADO_TRUE = 1;
const ELIMINADO_FALSE = 0;
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTipoPeer;
class TipoPeer extends BaseTipoPeer
{
}
<?php
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTipoQuery;
class TipoQuery extends BaseTipoQuery
{
}
<?php
namespace AppBundle\Model\map;
use \RelationMap;
use \TableMap;
/**
* This class defines the structure of the 'backend_rol' table.
*
*
*
* This map class is used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package propel.generator.src.AppBundle.Model.map
*/
class BackendRolTableMap extends TableMap
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'src.AppBundle.Model.map.BackendRolTableMap';
/**
* Initialize the table attributes, columns and validators
* Relations are not initialized by this method since they are lazy loaded
*
* @return void
* @throws PropelException
*/
public function initialize()
{
// attributes
$this->setName('backend_rol');
$this->setPhpName('BackendRol');
$this->setClassname('AppBundle\\Model\\BackendRol');
$this->setPackage('src.AppBundle.Model');
$this->setUseIdGenerator(true);
// columns
$this->addPrimaryKey('bro_id', 'BroId', 'INTEGER', true, null, null);
$this->addColumn('bro_rol', 'BroRol', 'VARCHAR', false, 45, null);
$this->addColumn('bro_nombre', 'BroNombre', 'VARCHAR', false, 100, null);
// validators
} // initialize()
/**
* Build the RelationMap objects for this table relationships
*/
public function buildRelations()
{
$this->addRelation('BackendusuarioBackendrol', 'AppBundle\\Model\\BackendusuarioBackendrol', RelationMap::ONE_TO_MANY, array('bro_id' => 'bro_id', ), null, null, 'BackendusuarioBackendrols');
} // buildRelations()
} // BackendRolTableMap
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment