@@ -3,8 +3,8 @@ |
||
| 3 | 3 | spl_autoload_register('__ocrend_autoload'); |
| 4 | 4 | |
| 5 | 5 | function __ocrend_autoload(string $class) { |
| 6 | - $class = API_INTERFACE . str_replace('\\','/',$class); |
|
| 7 | - if(is_readable($class . '.php')) { |
|
| 6 | + $class = API_INTERFACE . str_replace('\\', '/', $class); |
|
| 7 | + if (is_readable($class . '.php')) { |
|
| 8 | 8 | require_once $class . '.php'; |
| 9 | 9 | } |
| 10 | 10 | } |
| 11 | 11 | \ No newline at end of file |
@@ -23,8 +23,8 @@ discard block |
||
| 23 | 23 | final class Router implements IRouter { |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | - * @var array CONSTANTE con las reglas permitidas |
|
| 27 | - */ |
|
| 26 | + * @var array CONSTANTE con las reglas permitidas |
|
| 27 | + */ |
|
| 28 | 28 | const RULES = [ |
| 29 | 29 | 'none', # Sin ninguna regla |
| 30 | 30 | 'letters', # Sólamente letras |
@@ -37,10 +37,10 @@ discard block |
||
| 37 | 37 | ]; |
| 38 | 38 | |
| 39 | 39 | /** |
| 40 | - * Colección de rutas existentes |
|
| 41 | - * |
|
| 42 | - * @var array |
|
| 43 | - */ |
|
| 40 | + * Colección de rutas existentes |
|
| 41 | + * |
|
| 42 | + * @var array |
|
| 43 | + */ |
|
| 44 | 44 | private $routerCollection = array( |
| 45 | 45 | '/controller' => 'home', # controlador por defecto |
| 46 | 46 | '/method' => null, # método por defecto |
@@ -48,10 +48,10 @@ discard block |
||
| 48 | 48 | ); |
| 49 | 49 | |
| 50 | 50 | /** |
| 51 | - * Colección de reglas para cada ruta existente |
|
| 52 | - * |
|
| 53 | - * @var array |
|
| 54 | - */ |
|
| 51 | + * Colección de reglas para cada ruta existente |
|
| 52 | + * |
|
| 53 | + * @var array |
|
| 54 | + */ |
|
| 55 | 55 | private $routerCollectionRules = array( |
| 56 | 56 | '/controller' => 'letters', |
| 57 | 57 | '/method' => 'none', |
@@ -59,18 +59,18 @@ discard block |
||
| 59 | 59 | ); |
| 60 | 60 | |
| 61 | 61 | /** |
| 62 | - * @var array |
|
| 63 | - */ |
|
| 62 | + * @var array |
|
| 63 | + */ |
|
| 64 | 64 | private $real_request = array(); |
| 65 | 65 | |
| 66 | 66 | /** |
| 67 | - * @var string |
|
| 68 | - */ |
|
| 67 | + * @var string |
|
| 68 | + */ |
|
| 69 | 69 | private $requestUri; |
| 70 | 70 | |
| 71 | 71 | /** |
| 72 | - * __construct() |
|
| 73 | - */ |
|
| 72 | + * __construct() |
|
| 73 | + */ |
|
| 74 | 74 | public function __construct() { |
| 75 | 75 | global $http; |
| 76 | 76 | |
@@ -82,13 +82,13 @@ discard block |
||
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | /** |
| 85 | - * Coloca una regla destinada a una ruta, siempre y cuando esta regla exista. |
|
| 86 | - * |
|
| 87 | - * @param string $index : Índice de la ruta |
|
| 88 | - * @param string $rule : Nombre de la regla |
|
| 89 | - * |
|
| 90 | - * @throws \RuntimeException si la regla no existe |
|
| 91 | - */ |
|
| 85 | + * Coloca una regla destinada a una ruta, siempre y cuando esta regla exista. |
|
| 86 | + * |
|
| 87 | + * @param string $index : Índice de la ruta |
|
| 88 | + * @param string $rule : Nombre de la regla |
|
| 89 | + * |
|
| 90 | + * @throws \RuntimeException si la regla no existe |
|
| 91 | + */ |
|
| 92 | 92 | final private function setCollectionRule(string $index, string $rule) { |
| 93 | 93 | # Verificar si la regla existe |
| 94 | 94 | if(!in_array($rule,self::RULES)) { |
@@ -99,8 +99,8 @@ discard block |
||
| 99 | 99 | } |
| 100 | 100 | |
| 101 | 101 | /** |
| 102 | - * Verifica las peticiones por defecto |
|
| 103 | - */ |
|
| 102 | + * Verifica las peticiones por defecto |
|
| 103 | + */ |
|
| 104 | 104 | final private function checkRequests() { |
| 105 | 105 | # Verificar si existe peticiones |
| 106 | 106 | if(null !== $this->requestUri) { |
@@ -114,13 +114,13 @@ discard block |
||
| 114 | 114 | } |
| 115 | 115 | |
| 116 | 116 | /** |
| 117 | - * Crea una nueva ruta. |
|
| 118 | - * |
|
| 119 | - * @param string $index : Índice de la ruta |
|
| 120 | - * @param string $rule : Nombre de la regla, por defecto es ninguna "none" |
|
| 121 | - * |
|
| 122 | - * @throws \RuntimeException si no puede definirse la ruta |
|
| 123 | - */ |
|
| 117 | + * Crea una nueva ruta. |
|
| 118 | + * |
|
| 119 | + * @param string $index : Índice de la ruta |
|
| 120 | + * @param string $rule : Nombre de la regla, por defecto es ninguna "none" |
|
| 121 | + * |
|
| 122 | + * @throws \RuntimeException si no puede definirse la ruta |
|
| 123 | + */ |
|
| 124 | 124 | final public function setRoute(string $index, string $rule = 'none') { |
| 125 | 125 | # Nombres de rutas no permitidos |
| 126 | 126 | if(in_array($index,['/controller','/method','/id'])) { |
@@ -140,13 +140,13 @@ discard block |
||
| 140 | 140 | } |
| 141 | 141 | |
| 142 | 142 | /** |
| 143 | - * Obtiene el valor de una ruta según la regla que ha sido definida y si ésta existe. |
|
| 144 | - * |
|
| 145 | - * @param string $index : Índice de la ruta |
|
| 146 | - * |
|
| 147 | - * @throws \RuntimeException si la ruta no existe o si no está implementada la regla |
|
| 148 | - * @return mixed : Valor de la ruta solicitada |
|
| 149 | - */ |
|
| 143 | + * Obtiene el valor de una ruta según la regla que ha sido definida y si ésta existe. |
|
| 144 | + * |
|
| 145 | + * @param string $index : Índice de la ruta |
|
| 146 | + * |
|
| 147 | + * @throws \RuntimeException si la ruta no existe o si no está implementada la regla |
|
| 148 | + * @return mixed : Valor de la ruta solicitada |
|
| 149 | + */ |
|
| 150 | 150 | final public function getRoute(string $index) { |
| 151 | 151 | # Verificar existencia de ruta |
| 152 | 152 | if(!array_key_exists($index,$this->routerCollection)) { |
@@ -189,34 +189,34 @@ discard block |
||
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | /** |
| 192 | - * Obtiene el nombre del controlador. |
|
| 193 | - * |
|
| 194 | - * @return string controlador. |
|
| 195 | - */ |
|
| 192 | + * Obtiene el nombre del controlador. |
|
| 193 | + * |
|
| 194 | + * @return string controlador. |
|
| 195 | + */ |
|
| 196 | 196 | final public function getController() { |
| 197 | 197 | return $this->routerCollection['/controller']; |
| 198 | 198 | } |
| 199 | 199 | |
| 200 | 200 | /** |
| 201 | - * Obtiene el método |
|
| 202 | - * |
|
| 203 | - * @return string con el método. |
|
| 204 | - * null si no está definido. |
|
| 205 | - */ |
|
| 201 | + * Obtiene el método |
|
| 202 | + * |
|
| 203 | + * @return string con el método. |
|
| 204 | + * null si no está definido. |
|
| 205 | + */ |
|
| 206 | 206 | final public function getMethod() { |
| 207 | 207 | return $this->routerCollection['/method']; |
| 208 | 208 | } |
| 209 | 209 | |
| 210 | 210 | /** |
| 211 | - * Obtiene el id |
|
| 212 | - * |
|
| 213 | - * @param bool $with_rules : true para obtener el id con reglas definidas para números mayores a 0 |
|
| 214 | - * false para obtener el id sin reglas definidas |
|
| 215 | - * |
|
| 216 | - * @return int|null con el id |
|
| 217 | - * int con el id si usa reglas. |
|
| 218 | - * null si no está definido. |
|
| 219 | - */ |
|
| 211 | + * Obtiene el id |
|
| 212 | + * |
|
| 213 | + * @param bool $with_rules : true para obtener el id con reglas definidas para números mayores a 0 |
|
| 214 | + * false para obtener el id sin reglas definidas |
|
| 215 | + * |
|
| 216 | + * @return int|null con el id |
|
| 217 | + * int con el id si usa reglas. |
|
| 218 | + * null si no está definido. |
|
| 219 | + */ |
|
| 220 | 220 | final public function getId(bool $with_rules = false) { |
| 221 | 221 | $id = $this->routerCollection['/id']; |
| 222 | 222 | if($with_rules) { |
@@ -226,11 +226,11 @@ discard block |
||
| 226 | 226 | return $id; |
| 227 | 227 | } |
| 228 | 228 | |
| 229 | - /** |
|
| 230 | - * Ejecuta el controlador solicitado por la URL. |
|
| 231 | - * Si este no existe, ejecutará errorController. |
|
| 232 | - * Si no se solicita ningún controlador, ejecutará homeController. |
|
| 233 | - */ |
|
| 229 | + /** |
|
| 230 | + * Ejecuta el controlador solicitado por la URL. |
|
| 231 | + * Si este no existe, ejecutará errorController. |
|
| 232 | + * Si no se solicita ningún controlador, ejecutará homeController. |
|
| 233 | + */ |
|
| 234 | 234 | final public function executeController() { |
| 235 | 235 | # Definir controlador |
| 236 | 236 | if(null != ($controller = $this->getController())) { |
@@ -91,7 +91,7 @@ discard block |
||
| 91 | 91 | */ |
| 92 | 92 | final private function setCollectionRule(string $index, string $rule) { |
| 93 | 93 | # Verificar si la regla existe |
| 94 | - if(!in_array($rule,self::RULES)) { |
|
| 94 | + if (!in_array($rule, self::RULES)) { |
|
| 95 | 95 | throw new \RuntimeException('La regla ' . $rule . ' no existe.'); |
| 96 | 96 | } |
| 97 | 97 | # Definir la regla para la ruta |
@@ -103,14 +103,14 @@ discard block |
||
| 103 | 103 | */ |
| 104 | 104 | final private function checkRequests() { |
| 105 | 105 | # Verificar si existe peticiones |
| 106 | - if(null !== $this->requestUri) { |
|
| 107 | - $this->real_request = explode('/',$this->requestUri); |
|
| 106 | + if (null !== $this->requestUri) { |
|
| 107 | + $this->real_request = explode('/', $this->requestUri); |
|
| 108 | 108 | $this->routerCollection['/controller'] = $this->real_request[0]; |
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | # Setear las siguientes rutas |
| 112 | - $this->routerCollection['/method'] = array_key_exists(1,$this->real_request) ? $this->real_request[1] : null; |
|
| 113 | - $this->routerCollection['/id'] = array_key_exists(2,$this->real_request) ? $this->real_request[2] : null; |
|
| 112 | + $this->routerCollection['/method'] = array_key_exists(1, $this->real_request) ? $this->real_request[1] : null; |
|
| 113 | + $this->routerCollection['/id'] = array_key_exists(2, $this->real_request) ? $this->real_request[2] : null; |
|
| 114 | 114 | } |
| 115 | 115 | |
| 116 | 116 | /** |
@@ -123,7 +123,7 @@ discard block |
||
| 123 | 123 | */ |
| 124 | 124 | final public function setRoute(string $index, string $rule = 'none') { |
| 125 | 125 | # Nombres de rutas no permitidos |
| 126 | - if(in_array($index,['/controller','/method','/id'])) { |
|
| 126 | + if (in_array($index, ['/controller', '/method', '/id'])) { |
|
| 127 | 127 | throw new \RuntimeException('No puede definirse ' . $index . ' como índice en la ruta.'); |
| 128 | 128 | } |
| 129 | 129 | |
@@ -135,8 +135,8 @@ discard block |
||
| 135 | 135 | |
| 136 | 136 | # Definir la ruta y regla |
| 137 | 137 | $lastRoute = sizeof($this->routerCollection); |
| 138 | - $this->routerCollection[$index] = array_key_exists($lastRoute,$this->real_request) ? $this->real_request[$lastRoute] : null; |
|
| 139 | - $this->setCollectionRule($index,$rule); |
|
| 138 | + $this->routerCollection[$index] = array_key_exists($lastRoute, $this->real_request) ? $this->real_request[$lastRoute] : null; |
|
| 139 | + $this->setCollectionRule($index, $rule); |
|
| 140 | 140 | } |
| 141 | 141 | |
| 142 | 142 | /** |
@@ -149,7 +149,7 @@ discard block |
||
| 149 | 149 | */ |
| 150 | 150 | final public function getRoute(string $index) { |
| 151 | 151 | # Verificar existencia de ruta |
| 152 | - if(!array_key_exists($index,$this->routerCollection)) { |
|
| 152 | + if (!array_key_exists($index, $this->routerCollection)) { |
|
| 153 | 153 | throw new \RuntimeException('La ruta ' . $index . ' no está definida en el controlador.'); |
| 154 | 154 | } |
| 155 | 155 | |
@@ -157,7 +157,7 @@ discard block |
||
| 157 | 157 | $ruta = $this->routerCollection[$index]; |
| 158 | 158 | |
| 159 | 159 | # Retornar ruta con la regla definida aplicada |
| 160 | - switch($this->routerCollectionRules[$index]) { |
|
| 160 | + switch ($this->routerCollectionRules[$index]) { |
|
| 161 | 161 | case 'none': |
| 162 | 162 | return $ruta; |
| 163 | 163 | break; |
@@ -219,7 +219,7 @@ discard block |
||
| 219 | 219 | */ |
| 220 | 220 | final public function getId(bool $with_rules = false) { |
| 221 | 221 | $id = $this->routerCollection['/id']; |
| 222 | - if($with_rules) { |
|
| 222 | + if ($with_rules) { |
|
| 223 | 223 | return (null !== $id && is_numeric($id) && $id > 0) ? (int) $id : null; |
| 224 | 224 | } |
| 225 | 225 | |
@@ -233,10 +233,10 @@ discard block |
||
| 233 | 233 | */ |
| 234 | 234 | final public function executeController() { |
| 235 | 235 | # Definir controlador |
| 236 | - if(null != ($controller = $this->getController())) { |
|
| 236 | + if (null != ($controller = $this->getController())) { |
|
| 237 | 237 | $controller = $controller . 'Controller'; |
| 238 | 238 | |
| 239 | - if(!is_readable('app/controllers/' . $controller . '.php')) { |
|
| 239 | + if (!is_readable('app/controllers/' . $controller . '.php')) { |
|
| 240 | 240 | $controller = 'errorController'; |
| 241 | 241 | } |
| 242 | 242 | |
@@ -18,24 +18,24 @@ discard block |
||
| 18 | 18 | * @author Brayan Narváez <[email protected]> |
| 19 | 19 | */ |
| 20 | 20 | |
| 21 | - class Database extends \PDO { |
|
| 21 | + class Database extends \PDO { |
|
| 22 | 22 | |
| 23 | - /** |
|
| 23 | + /** |
|
| 24 | 24 | * Contiene la instancia de conexión a la base de datos |
| 25 | 25 | * |
| 26 | 26 | * @var Database |
| 27 | - */ |
|
| 28 | - private static $inst; |
|
| 27 | + */ |
|
| 28 | + private static $inst; |
|
| 29 | 29 | |
| 30 | 30 | /** |
| 31 | - * Inicia la instancia de conexión, si esta ya ha sido declarada antes, no la duplica y ahorra memoria. |
|
| 32 | - * |
|
| 33 | - * @param string|null $name : Nombre de la base de datos a conectar |
|
| 34 | - * @param string|null $motor: Motor de la base de datos a conectar |
|
| 35 | - * @param bool $new_instance: true para iniciar una nueva instancia (al querer conectar a una DB distinta) |
|
| 36 | - * |
|
| 37 | - * @return Database : Instancia de conexión |
|
| 38 | - */ |
|
| 31 | + * Inicia la instancia de conexión, si esta ya ha sido declarada antes, no la duplica y ahorra memoria. |
|
| 32 | + * |
|
| 33 | + * @param string|null $name : Nombre de la base de datos a conectar |
|
| 34 | + * @param string|null $motor: Motor de la base de datos a conectar |
|
| 35 | + * @param bool $new_instance: true para iniciar una nueva instancia (al querer conectar a una DB distinta) |
|
| 36 | + * |
|
| 37 | + * @return Database : Instancia de conexión |
|
| 38 | + */ |
|
| 39 | 39 | final public static function Start($name = null, $motor = null, bool $new_instance = false) : Database { |
| 40 | 40 | global $config; |
| 41 | 41 | |
@@ -50,16 +50,16 @@ discard block |
||
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | /** |
| 53 | - * Inicia la conexión con la base de datos seleccionada |
|
| 54 | - * |
|
| 55 | - * @param string|null $name : Nombre de la base de datos a conectar |
|
| 56 | - * @param string|null $motor: Motor de la base de datos a conectar |
|
| 57 | - * @param bool $new_instance: true para iniciar una nueva instancia (al querer conectar a una DB distinta) |
|
| 58 | - * |
|
| 59 | - * @throws RuntimeException si el motor no existe |
|
| 60 | - * @throws RuntimeException si existe algún problema de conexión con la base de datos |
|
| 61 | - * @return Database : Instancia de conexión |
|
| 62 | - */ |
|
| 53 | + * Inicia la conexión con la base de datos seleccionada |
|
| 54 | + * |
|
| 55 | + * @param string|null $name : Nombre de la base de datos a conectar |
|
| 56 | + * @param string|null $motor: Motor de la base de datos a conectar |
|
| 57 | + * @param bool $new_instance: true para iniciar una nueva instancia (al querer conectar a una DB distinta) |
|
| 58 | + * |
|
| 59 | + * @throws RuntimeException si el motor no existe |
|
| 60 | + * @throws RuntimeException si existe algún problema de conexión con la base de datos |
|
| 61 | + * @return Database : Instancia de conexión |
|
| 62 | + */ |
|
| 63 | 63 | final public function __construct(string $name, string $motor) { |
| 64 | 64 | global $config; |
| 65 | 65 | |
@@ -127,34 +127,34 @@ discard block |
||
| 127 | 127 | } |
| 128 | 128 | |
| 129 | 129 | /** |
| 130 | - * Devuelve un arreglo asociativo de todos los resultados arrojados por una query |
|
| 131 | - * |
|
| 132 | - * @param object PDOStatement $query, valor devuelto de la query |
|
| 133 | - * |
|
| 134 | - * @return arreglo asociativo |
|
| 135 | - */ |
|
| 130 | + * Devuelve un arreglo asociativo de todos los resultados arrojados por una query |
|
| 131 | + * |
|
| 132 | + * @param object PDOStatement $query, valor devuelto de la query |
|
| 133 | + * |
|
| 134 | + * @return arreglo asociativo |
|
| 135 | + */ |
|
| 136 | 136 | final public function fetch_array(\PDOStatement $query) : array { |
| 137 | 137 | return $query->fetchAll(\PDO::FETCH_ASSOC); |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | - /** |
|
| 141 | - * Consigue el numero de filas encontradas después de un SELECT |
|
| 142 | - * |
|
| 143 | - * @param object PDOStatement $query, valor devuelto de la query |
|
| 144 | - * |
|
| 145 | - * @return numero de filas encontradas |
|
| 146 | - */ |
|
| 140 | + /** |
|
| 141 | + * Consigue el numero de filas encontradas después de un SELECT |
|
| 142 | + * |
|
| 143 | + * @param object PDOStatement $query, valor devuelto de la query |
|
| 144 | + * |
|
| 145 | + * @return numero de filas encontradas |
|
| 146 | + */ |
|
| 147 | 147 | final public function rows(\PDOStatement $query) : int { |
| 148 | 148 | return $query->rowCount(); |
| 149 | 149 | } |
| 150 | 150 | |
| 151 | 151 | /** |
| 152 | - * Sana un valor para posteriormente ser introducido en una query |
|
| 153 | - * |
|
| 154 | - * @param null/string/int/float a sanar |
|
| 155 | - * |
|
| 156 | - * @return int/float/string sanados según sea el tipo de dato pasado por parámetro |
|
| 157 | - */ |
|
| 152 | + * Sana un valor para posteriormente ser introducido en una query |
|
| 153 | + * |
|
| 154 | + * @param null/string/int/float a sanar |
|
| 155 | + * |
|
| 156 | + * @return int/float/string sanados según sea el tipo de dato pasado por parámetro |
|
| 157 | + */ |
|
| 158 | 158 | final public function scape($e) { |
| 159 | 159 | if(null === $e) { |
| 160 | 160 | return ''; |
@@ -171,28 +171,28 @@ discard block |
||
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | /** |
| 174 | - * Borra una serie de elementos de forma segura de una tabla en la base de datos |
|
| 175 | - * |
|
| 176 | - * @param string $table: Tabla a la cual se le quiere remover un elemento |
|
| 177 | - * @param string $where: Condición de borrado que define quien/quienes son dichos elementos |
|
| 178 | - * @param string $limit: Por defecto se limita a borrar un solo elemento que cumpla el $where |
|
| 179 | - * |
|
| 180 | - * @return object PDOStatement |
|
| 181 | - */ |
|
| 174 | + * Borra una serie de elementos de forma segura de una tabla en la base de datos |
|
| 175 | + * |
|
| 176 | + * @param string $table: Tabla a la cual se le quiere remover un elemento |
|
| 177 | + * @param string $where: Condición de borrado que define quien/quienes son dichos elementos |
|
| 178 | + * @param string $limit: Por defecto se limita a borrar un solo elemento que cumpla el $where |
|
| 179 | + * |
|
| 180 | + * @return object PDOStatement |
|
| 181 | + */ |
|
| 182 | 182 | final public function delete(string $table, string $where, string $limit = 'LIMIT 1') : \PDOStatement { |
| 183 | 183 | return $this->query("DELETE FROM $table WHERE $where $limit;"); |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | 186 | /** |
| 187 | - * Inserta una serie de elementos a una tabla en la base de datos |
|
| 188 | - * |
|
| 189 | - * @param string $table: Tabla a la cual se le va a insertar elementos |
|
| 190 | - * @param array $e: Arreglo asociativo de elementos, con la estrctura 'campo_en_la_tabla' => 'valor_a_insertar_en_ese_campo', |
|
| 191 | - * todos los elementos del arreglo $e, serán sanados por el método sin necesidad de hacerlo manualmente al crear el arreglo |
|
| 192 | - * |
|
| 193 | - * @throws RuntimeException si el arreglo está vacío |
|
| 194 | - * @return object PDOStatement |
|
| 195 | - */ |
|
| 187 | + * Inserta una serie de elementos a una tabla en la base de datos |
|
| 188 | + * |
|
| 189 | + * @param string $table: Tabla a la cual se le va a insertar elementos |
|
| 190 | + * @param array $e: Arreglo asociativo de elementos, con la estrctura 'campo_en_la_tabla' => 'valor_a_insertar_en_ese_campo', |
|
| 191 | + * todos los elementos del arreglo $e, serán sanados por el método sin necesidad de hacerlo manualmente al crear el arreglo |
|
| 192 | + * |
|
| 193 | + * @throws RuntimeException si el arreglo está vacío |
|
| 194 | + * @return object PDOStatement |
|
| 195 | + */ |
|
| 196 | 196 | final public function insert(string $table, array $e) : \PDOStatement { |
| 197 | 197 | if (sizeof($e) == 0) { |
| 198 | 198 | throw new \RuntimeException('El arreglo pasado por $this->db->insert(\''.$table.'\',...) está vacío.'); |
@@ -212,17 +212,17 @@ discard block |
||
| 212 | 212 | } |
| 213 | 213 | |
| 214 | 214 | /** |
| 215 | - * Actualiza elementos de una tabla en la base de datos según una condición |
|
| 216 | - * |
|
| 217 | - * @param string $table: Tabla a actualizar |
|
| 218 | - * @param array $e: Arreglo asociativo de elementos, con la estrctura 'campo_en_la_tabla' => 'valor_a_insertar_en_ese_campo', |
|
| 219 | - * todos los elementos del arreglo $e, serán sanados por el método sin necesidad de hacerlo manualmente al crear el arreglo |
|
| 220 | - * @param string $where: Condición que indica quienes serán modificados |
|
| 221 | - * @param string $limite: Límite de elementos modificados, por defecto los modifica a todos |
|
| 222 | - * |
|
| 223 | - * @throws RuntimeException si el arreglo está vacío |
|
| 224 | - * @return object PDOStatement |
|
| 225 | - */ |
|
| 215 | + * Actualiza elementos de una tabla en la base de datos según una condición |
|
| 216 | + * |
|
| 217 | + * @param string $table: Tabla a actualizar |
|
| 218 | + * @param array $e: Arreglo asociativo de elementos, con la estrctura 'campo_en_la_tabla' => 'valor_a_insertar_en_ese_campo', |
|
| 219 | + * todos los elementos del arreglo $e, serán sanados por el método sin necesidad de hacerlo manualmente al crear el arreglo |
|
| 220 | + * @param string $where: Condición que indica quienes serán modificados |
|
| 221 | + * @param string $limite: Límite de elementos modificados, por defecto los modifica a todos |
|
| 222 | + * |
|
| 223 | + * @throws RuntimeException si el arreglo está vacío |
|
| 224 | + * @return object PDOStatement |
|
| 225 | + */ |
|
| 226 | 226 | final public function update(string $table, array $e, string $where, string $limit = '') : \PDOStatement { |
| 227 | 227 | if (sizeof($e) == 0) { |
| 228 | 228 | throw new \RuntimeException('El arreglo pasado por $this->db->update(\''.$table.'\'...) está vacío.'); |
@@ -239,24 +239,24 @@ discard block |
||
| 239 | 239 | } |
| 240 | 240 | |
| 241 | 241 | /** |
| 242 | - * Selecciona y lista en un arreglo asociativo/numérico los resultados de una búsqueda en la base de datos |
|
| 243 | - * |
|
| 244 | - * @param string $e: Elementos a seleccionar separados por coma |
|
| 245 | - * @param string $tbale: Tabla de la cual se quiere extraer los elementos $e |
|
| 246 | - * @param string $where: Condición que indica quienes son los que se extraen, si no se coloca extrae todos |
|
| 247 | - * @param string $limite: Límite de elemntos a traer, por defecto trae TODOS los que cumplan $where |
|
| 248 | - * |
|
| 249 | - * @return false si no encuentra ningún resultado, array asociativo/numérico si consigue al menos uno |
|
| 250 | - */ |
|
| 242 | + * Selecciona y lista en un arreglo asociativo/numérico los resultados de una búsqueda en la base de datos |
|
| 243 | + * |
|
| 244 | + * @param string $e: Elementos a seleccionar separados por coma |
|
| 245 | + * @param string $tbale: Tabla de la cual se quiere extraer los elementos $e |
|
| 246 | + * @param string $where: Condición que indica quienes son los que se extraen, si no se coloca extrae todos |
|
| 247 | + * @param string $limite: Límite de elemntos a traer, por defecto trae TODOS los que cumplan $where |
|
| 248 | + * |
|
| 249 | + * @return false si no encuentra ningún resultado, array asociativo/numérico si consigue al menos uno |
|
| 250 | + */ |
|
| 251 | 251 | final public function select(string $e, string $table, string $where = '1 = 1', string $limit = "") { |
| 252 | 252 | return $this->query_select("SELECT $e FROM $table WHERE $where $limit;"); |
| 253 | 253 | } |
| 254 | 254 | |
| 255 | - /** |
|
| 256 | - * Realiza una query, ideal para trabajar con SELECTS, JOINS, etc |
|
| 257 | - * |
|
| 258 | - * @return false si no encuentra ningún resultado, array asociativo/numérico si consigue al menos uno |
|
| 259 | - */ |
|
| 255 | + /** |
|
| 256 | + * Realiza una query, ideal para trabajar con SELECTS, JOINS, etc |
|
| 257 | + * |
|
| 258 | + * @return false si no encuentra ningún resultado, array asociativo/numérico si consigue al menos uno |
|
| 259 | + */ |
|
| 260 | 260 | final public function query_select(string $query) { |
| 261 | 261 | $sql = $this->query($query); |
| 262 | 262 | $result = $sql->fetchAll(); |
@@ -270,13 +270,13 @@ discard block |
||
| 270 | 270 | } |
| 271 | 271 | |
| 272 | 272 | /** |
| 273 | - * Alert para evitar clonaciones |
|
| 274 | - * |
|
| 275 | - * @throws RuntimeException si se intenta clonar la conexión |
|
| 276 | - * @return void |
|
| 277 | - */ |
|
| 273 | + * Alert para evitar clonaciones |
|
| 274 | + * |
|
| 275 | + * @throws RuntimeException si se intenta clonar la conexión |
|
| 276 | + * @return void |
|
| 277 | + */ |
|
| 278 | 278 | final public function __clone() { |
| 279 | 279 | throw new \RuntimeException('Estás intentando clonar la Conexión'); |
| 280 | 280 | } |
| 281 | 281 | |
| 282 | - } |
|
| 283 | 282 | \ No newline at end of file |
| 283 | + } |
|
| 284 | 284 | \ No newline at end of file |
@@ -39,7 +39,7 @@ discard block |
||
| 39 | 39 | final public static function Start($name = null, $motor = null, bool $new_instance = false) : Database { |
| 40 | 40 | global $config; |
| 41 | 41 | |
| 42 | - if(!self::$inst instanceof self or $new_instance) { |
|
| 42 | + if (!self::$inst instanceof self or $new_instance) { |
|
| 43 | 43 | self::$inst = new self( |
| 44 | 44 | null == $name ? $config['database']['name'] : $name, |
| 45 | 45 | null == $motor ? $config['database']['motor'] : $motor |
@@ -66,41 +66,41 @@ discard block |
||
| 66 | 66 | try { |
| 67 | 67 | switch ($motor) { |
| 68 | 68 | case 'sqlite': |
| 69 | - parent::__construct('sqlite:'.$name); |
|
| 69 | + parent::__construct('sqlite:' . $name); |
|
| 70 | 70 | break; |
| 71 | 71 | case 'cubrid': |
| 72 | - parent::__construct('cubrid:host='.$config['database']['host'].';dbname='.$name.';port='.$config['database']['port'],$config['database']['user'],$config['database']['pass'],array( |
|
| 72 | + parent::__construct('cubrid:host=' . $config['database']['host'] . ';dbname=' . $name . ';port=' . $config['database']['port'], $config['database']['user'], $config['database']['pass'], array( |
|
| 73 | 73 | \PDO::ATTR_EMULATE_PREPARES => false, |
| 74 | 74 | \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION)); |
| 75 | 75 | break; |
| 76 | 76 | case 'firebird': |
| 77 | - parent::__construct('firebird:dbname='.$config['database']['host'].':'.$name,$config['database']['user'],$config['database']['pass'],array( |
|
| 77 | + parent::__construct('firebird:dbname=' . $config['database']['host'] . ':' . $name, $config['database']['user'], $config['database']['pass'], array( |
|
| 78 | 78 | \PDO::ATTR_EMULATE_PREPARES => false, |
| 79 | 79 | \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION)); |
| 80 | 80 | break; |
| 81 | 81 | case 'odbc'; |
| 82 | - parent::__construct('odbc:'.$name,$config['database']['user'],$config['database']['pass']); |
|
| 82 | + parent::__construct('odbc:' . $name, $config['database']['user'], $config['database']['pass']); |
|
| 83 | 83 | break; |
| 84 | 84 | case 'oracle': |
| 85 | 85 | parent::__construct('oci:dbname=(DESCRIPTION = |
| 86 | 86 | (ADDRESS_LIST = |
| 87 | - (ADDRESS = (PROTOCOL = '.$config['database']['protocol'].')(HOST = '.$motor.')(PORT = '.$config['database']['port'].')) |
|
| 87 | + (ADDRESS = (PROTOCOL = '.$config['database']['protocol'] . ')(HOST = ' . $motor . ')(PORT = ' . $config['database']['port'] . ')) |
|
| 88 | 88 | ) |
| 89 | 89 | (CONNECT_DATA = |
| 90 | - (SERVICE_NAME = '.$name.') |
|
| 90 | + (SERVICE_NAME = '.$name . ') |
|
| 91 | 91 | ) |
| 92 | - );charset=utf8',$config['database']['user'],$config['database']['pass'], |
|
| 92 | + );charset=utf8',$config['database']['user'], $config['database']['pass'], |
|
| 93 | 93 | array(\PDO::ATTR_EMULATE_PREPARES => false, |
| 94 | 94 | \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, |
| 95 | 95 | \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC)); |
| 96 | 96 | break; |
| 97 | 97 | case 'postgresql': |
| 98 | - parent::__construct('pgsql:host='.$config['database']['host'].';dbname='.$name.';charset=utf8',$config['database']['user'],$config['database']['pass'],array( |
|
| 98 | + parent::__construct('pgsql:host=' . $config['database']['host'] . ';dbname=' . $name . ';charset=utf8', $config['database']['user'], $config['database']['pass'], array( |
|
| 99 | 99 | \PDO::ATTR_EMULATE_PREPARES => false, |
| 100 | 100 | \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION)); |
| 101 | 101 | break; |
| 102 | 102 | case 'mysql': |
| 103 | - parent::__construct('mysql:host='.$config['database']['host'].';dbname='.$name,$config['database']['user'],$config['database']['pass'],array( |
|
| 103 | + parent::__construct('mysql:host=' . $config['database']['host'] . ';dbname=' . $name, $config['database']['user'], $config['database']['pass'], array( |
|
| 104 | 104 | \PDO::ATTR_EMULATE_PREPARES => false, |
| 105 | 105 | \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, |
| 106 | 106 | \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); |
@@ -108,7 +108,7 @@ discard block |
||
| 108 | 108 | case 'mssql': |
| 109 | 109 | # Añadido por marc2684 |
| 110 | 110 | # DOC: https://github.com/prinick96/Ocrend-Framework/issues/7 |
| 111 | - parent::__construct('sqlsrv:Server='.$config['database']['host'].';Database='.$name.';ConnectionPooling=0', |
|
| 111 | + parent::__construct('sqlsrv:Server=' . $config['database']['host'] . ';Database=' . $name . ';ConnectionPooling=0', |
|
| 112 | 112 | $config['database']['user'], |
| 113 | 113 | $config['database']['pass'], |
| 114 | 114 | array(\PDO::ATTR_EMULATE_PREPARES => false, |
@@ -118,10 +118,10 @@ discard block |
||
| 118 | 118 | )); |
| 119 | 119 | break; |
| 120 | 120 | default: |
| 121 | - throw new \RuntimeException('Motor '. $motor .' de conexión no identificado.'); |
|
| 121 | + throw new \RuntimeException('Motor ' . $motor . ' de conexión no identificado.'); |
|
| 122 | 122 | break; |
| 123 | 123 | } |
| 124 | - } catch(\PDOException $e) { |
|
| 124 | + } catch (\PDOException $e) { |
|
| 125 | 125 | throw new \RuntimeException('Problema al conectar con la base de datos: ' . $e->getMessage()); |
| 126 | 126 | } |
| 127 | 127 | } |
@@ -156,18 +156,18 @@ discard block |
||
| 156 | 156 | * @return int/float/string sanados según sea el tipo de dato pasado por parámetro |
| 157 | 157 | */ |
| 158 | 158 | final public function scape($e) { |
| 159 | - if(null === $e) { |
|
| 159 | + if (null === $e) { |
|
| 160 | 160 | return ''; |
| 161 | 161 | } |
| 162 | 162 | |
| 163 | - if(is_numeric($e) and $e <= 2147483647) { |
|
| 164 | - if(explode('.',$e)[0] != $e) { |
|
| 163 | + if (is_numeric($e) and $e <= 2147483647) { |
|
| 164 | + if (explode('.', $e)[0] != $e) { |
|
| 165 | 165 | return (float) $e; |
| 166 | 166 | } |
| 167 | 167 | return (int) $e; |
| 168 | 168 | } |
| 169 | 169 | |
| 170 | - return (string) trim(str_replace(['\\',"\x00",'\n','\r',"'",'"',"\x1a"],['\\\\','\\0','\\n','\\r',"\'",'\"','\\Z'],$e)); |
|
| 170 | + return (string) trim(str_replace(['\\', "\x00", '\n', '\r', "'", '"', "\x1a"], ['\\\\', '\\0', '\\n', '\\r', "\'", '\"', '\\Z'], $e)); |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | /** |
@@ -195,7 +195,7 @@ discard block |
||
| 195 | 195 | */ |
| 196 | 196 | final public function insert(string $table, array $e) : \PDOStatement { |
| 197 | 197 | if (sizeof($e) == 0) { |
| 198 | - throw new \RuntimeException('El arreglo pasado por $this->db->insert(\''.$table.'\',...) está vacío.'); |
|
| 198 | + throw new \RuntimeException('El arreglo pasado por $this->db->insert(\'' . $table . '\',...) está vacío.'); |
|
| 199 | 199 | } |
| 200 | 200 | |
| 201 | 201 | $query = "INSERT INTO $table ("; |
@@ -225,7 +225,7 @@ discard block |
||
| 225 | 225 | */ |
| 226 | 226 | final public function update(string $table, array $e, string $where, string $limit = '') : \PDOStatement { |
| 227 | 227 | if (sizeof($e) == 0) { |
| 228 | - throw new \RuntimeException('El arreglo pasado por $this->db->update(\''.$table.'\'...) está vacío.'); |
|
| 228 | + throw new \RuntimeException('El arreglo pasado por $this->db->update(\'' . $table . '\'...) está vacío.'); |
|
| 229 | 229 | } |
| 230 | 230 | |
| 231 | 231 | $query = "UPDATE $table SET "; |
@@ -262,7 +262,7 @@ discard block |
||
| 262 | 262 | $result = $sql->fetchAll(); |
| 263 | 263 | $sql->closeCursor(); |
| 264 | 264 | |
| 265 | - if(sizeof($result) > 0) { |
|
| 265 | + if (sizeof($result) > 0) { |
|
| 266 | 266 | return $result; |
| 267 | 267 | } |
| 268 | 268 | |
@@ -23,17 +23,17 @@ |
||
| 23 | 23 | final class Config { |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | - * Ruta con parámetros de configuración |
|
| 27 | - * |
|
| 28 | - * @var string |
|
| 29 | - */ |
|
| 26 | + * Ruta con parámetros de configuración |
|
| 27 | + * |
|
| 28 | + * @var string |
|
| 29 | + */ |
|
| 30 | 30 | const FILE_CONFIG_ROUTE = API_INTERFACE . 'Ocrend/Kernel/Config/Ocrend.ini.yml'; |
| 31 | 31 | |
| 32 | 32 | /** |
| 33 | - * Lee la configuración del archivo self::FILE_CONFIG_ROUTE |
|
| 34 | - * |
|
| 35 | - * @return array : Arreglo con la configuración en el archivo .yml |
|
| 36 | - */ |
|
| 33 | + * Lee la configuración del archivo self::FILE_CONFIG_ROUTE |
|
| 34 | + * |
|
| 35 | + * @return array : Arreglo con la configuración en el archivo .yml |
|
| 36 | + */ |
|
| 37 | 37 | final public function readConfig() : array { |
| 38 | 38 | return Yaml::parse(file_get_contents(self::FILE_CONFIG_ROUTE)); |
| 39 | 39 | } |
@@ -27,7 +27,7 @@ discard block |
||
| 27 | 27 | //--------------------------------------------------------------------------------------------- |
| 28 | 28 | |
| 29 | 29 | /** |
| 30 | - * Manejador de excepciones y errores |
|
| 30 | + * Manejador de excepciones y errores |
|
| 31 | 31 | */ |
| 32 | 32 | ErrorHandler::register(); |
| 33 | 33 | ExceptionHandler::register(); |
@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | //--------------------------------------------------------------------------------------------- |
| 36 | 36 | |
| 37 | 37 | /** |
| 38 | - * Versión mínima de PHP |
|
| 38 | + * Versión mínima de PHP |
|
| 39 | 39 | */ |
| 40 | 40 | if (version_compare(phpversion(), '7.0.0', '<')) { |
| 41 | 41 | throw new \RuntimeException('La versión actual de PHP es ' . phpversion() . ' y como mínimo se require la versión 7.0.0'); |
@@ -44,7 +44,7 @@ discard block |
||
| 44 | 44 | //--------------------------------------------------------------------------------------------- |
| 45 | 45 | |
| 46 | 46 | /** |
| 47 | - * Lectura y escritura de caché para Twig |
|
| 47 | + * Lectura y escritura de caché para Twig |
|
| 48 | 48 | */ |
| 49 | 49 | if(!is_writable(API_INTERFACE . 'app/templates/.cache/') || !is_readable(API_INTERFACE . 'app/templates/.cache/')) { |
| 50 | 50 | throw new \RuntimeException('Debe conceder permisos de escritura y lectura a la ruta ' . API_INTERFACE . 'app/templates/.cache/ ó crearla si no existe.'); |
@@ -53,15 +53,15 @@ discard block |
||
| 53 | 53 | //--------------------------------------------------------------------------------------------- |
| 54 | 54 | |
| 55 | 55 | /** |
| 56 | - * Obtiene la configuración inicial del sistema, conexión a la base de datos, |
|
| 57 | - * constantes de phpmailer, credenciales de la api de paypal, etc. |
|
| 56 | + * Obtiene la configuración inicial del sistema, conexión a la base de datos, |
|
| 57 | + * constantes de phpmailer, credenciales de la api de paypal, etc. |
|
| 58 | 58 | */ |
| 59 | 59 | $config = (new Config)->readConfig(); |
| 60 | 60 | |
| 61 | 61 | //--------------------------------------------------------------------------------------------- |
| 62 | 62 | |
| 63 | 63 | /** |
| 64 | - * Capa orientada a objetos para el uso de sesiones más seguras en PHP |
|
| 64 | + * Capa orientada a objetos para el uso de sesiones más seguras en PHP |
|
| 65 | 65 | */ |
| 66 | 66 | $session = new Session(new NativeSessionStorage( |
| 67 | 67 | array( |
@@ -73,14 +73,14 @@ discard block |
||
| 73 | 73 | //--------------------------------------------------------------------------------------------- |
| 74 | 74 | |
| 75 | 75 | /** |
| 76 | - * Capa orientada a objetos de HTTPFoundation |
|
| 76 | + * Capa orientada a objetos de HTTPFoundation |
|
| 77 | 77 | */ |
| 78 | 78 | $http = Request::createFromGlobals(); |
| 79 | 79 | |
| 80 | 80 | //--------------------------------------------------------------------------------------------- |
| 81 | 81 | |
| 82 | 82 | /** |
| 83 | - * Estatus del DEBUG |
|
| 83 | + * Estatus del DEBUG |
|
| 84 | 84 | */ |
| 85 | 85 | if($config['framework']['debug']) { |
| 86 | 86 | Debug::enable(); |
@@ -89,6 +89,6 @@ discard block |
||
| 89 | 89 | //--------------------------------------------------------------------------------------------- |
| 90 | 90 | |
| 91 | 91 | /** |
| 92 | - * Define el timezone actual |
|
| 92 | + * Define el timezone actual |
|
| 93 | 93 | */ |
| 94 | 94 | date_default_timezone_set($config['site']['timezone']); |
| 95 | 95 | \ No newline at end of file |
@@ -46,7 +46,7 @@ discard block |
||
| 46 | 46 | /** |
| 47 | 47 | * Lectura y escritura de caché para Twig |
| 48 | 48 | */ |
| 49 | -if(!is_writable(API_INTERFACE . 'app/templates/.cache/') || !is_readable(API_INTERFACE . 'app/templates/.cache/')) { |
|
| 49 | +if (!is_writable(API_INTERFACE . 'app/templates/.cache/') || !is_readable(API_INTERFACE . 'app/templates/.cache/')) { |
|
| 50 | 50 | throw new \RuntimeException('Debe conceder permisos de escritura y lectura a la ruta ' . API_INTERFACE . 'app/templates/.cache/ ó crearla si no existe.'); |
| 51 | 51 | } |
| 52 | 52 | |
@@ -82,7 +82,7 @@ discard block |
||
| 82 | 82 | /** |
| 83 | 83 | * Estatus del DEBUG |
| 84 | 84 | */ |
| 85 | -if($config['framework']['debug']) { |
|
| 85 | +if ($config['framework']['debug']) { |
|
| 86 | 86 | Debug::enable(); |
| 87 | 87 | } |
| 88 | 88 | |
@@ -25,65 +25,65 @@ discard block |
||
| 25 | 25 | abstract class Controllers { |
| 26 | 26 | |
| 27 | 27 | /** |
| 28 | - * Obtiene el objeto del template |
|
| 29 | - * |
|
| 30 | - * @var Twig_Environment |
|
| 31 | - */ |
|
| 28 | + * Obtiene el objeto del template |
|
| 29 | + * |
|
| 30 | + * @var Twig_Environment |
|
| 31 | + */ |
|
| 32 | 32 | protected $template; |
| 33 | 33 | |
| 34 | 34 | /** |
| 35 | - * Verifica si está definida la ruta /id como un integer >= 1 |
|
| 36 | - * |
|
| 37 | - * @var bool |
|
| 38 | - */ |
|
| 35 | + * Verifica si está definida la ruta /id como un integer >= 1 |
|
| 36 | + * |
|
| 37 | + * @var bool |
|
| 38 | + */ |
|
| 39 | 39 | protected $isset_id = false; |
| 40 | 40 | |
| 41 | 41 | /** |
| 42 | - * Tiene el valor de la ruta /método |
|
| 43 | - * |
|
| 44 | - * @var string|null |
|
| 45 | - */ |
|
| 42 | + * Tiene el valor de la ruta /método |
|
| 43 | + * |
|
| 44 | + * @var string|null |
|
| 45 | + */ |
|
| 46 | 46 | protected $method; |
| 47 | 47 | |
| 48 | 48 | /** |
| 49 | - * Contiene una instancia del helper para funciones |
|
| 50 | - * |
|
| 51 | - * @var Ocrend\Kernel\Helpers\Functions |
|
| 52 | - */ |
|
| 49 | + * Contiene una instancia del helper para funciones |
|
| 50 | + * |
|
| 51 | + * @var Ocrend\Kernel\Helpers\Functions |
|
| 52 | + */ |
|
| 53 | 53 | protected $functions; |
| 54 | 54 | |
| 55 | 55 | /** |
| 56 | - * Arreglo con la información del usuario conectado actualmente. |
|
| 57 | - * |
|
| 58 | - * @var array |
|
| 59 | - */ |
|
| 56 | + * Arreglo con la información del usuario conectado actualmente. |
|
| 57 | + * |
|
| 58 | + * @var array |
|
| 59 | + */ |
|
| 60 | 60 | protected $user = array(); |
| 61 | 61 | |
| 62 | 62 | /** |
| 63 | - * Contiene información sobre el estado del usuario, si está o no conectado. |
|
| 64 | - * |
|
| 65 | - * @var bool |
|
| 66 | - */ |
|
| 63 | + * Contiene información sobre el estado del usuario, si está o no conectado. |
|
| 64 | + * |
|
| 65 | + * @var bool |
|
| 66 | + */ |
|
| 67 | 67 | private $is_logged = false; |
| 68 | 68 | |
| 69 | 69 | /** |
| 70 | - * Parámetros de configuración para el controlador con la forma: |
|
| 71 | - * 'parmáetro' => (bool) valor |
|
| 72 | - * |
|
| 73 | - * @var array |
|
| 74 | - */ |
|
| 70 | + * Parámetros de configuración para el controlador con la forma: |
|
| 71 | + * 'parmáetro' => (bool) valor |
|
| 72 | + * |
|
| 73 | + * @var array |
|
| 74 | + */ |
|
| 75 | 75 | private $controllerConfig; |
| 76 | 76 | |
| 77 | 77 | /** |
| 78 | - * Configuración inicial de cualquier controlador |
|
| 79 | - * |
|
| 80 | - * @param IRouter $router: Instancia de un Router |
|
| 81 | - * @param array|null $configController: Arreglo de configuración con la forma |
|
| 82 | - * 'twig_cache_reload' => bool, # Configura el autoreload del caché de twig |
|
| 83 | - * 'users_logged' => bool, # Configura el controlador para solo ser visto por usuarios logeados |
|
| 84 | - * 'users_not_logged' => bool, # Configura el controlador para solo ser visto por !(usuarios logeados) |
|
| 85 | - * |
|
| 86 | - */ |
|
| 78 | + * Configuración inicial de cualquier controlador |
|
| 79 | + * |
|
| 80 | + * @param IRouter $router: Instancia de un Router |
|
| 81 | + * @param array|null $configController: Arreglo de configuración con la forma |
|
| 82 | + * 'twig_cache_reload' => bool, # Configura el autoreload del caché de twig |
|
| 83 | + * 'users_logged' => bool, # Configura el controlador para solo ser visto por usuarios logeados |
|
| 84 | + * 'users_not_logged' => bool, # Configura el controlador para solo ser visto por !(usuarios logeados) |
|
| 85 | + * |
|
| 86 | + */ |
|
| 87 | 87 | protected function __construct(IRouter $router, $configController = null) { |
| 88 | 88 | global $config, $http, $session; |
| 89 | 89 | |
@@ -131,13 +131,13 @@ discard block |
||
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | /** |
| 134 | - * Establece los parámetros de configuración de un controlador |
|
| 135 | - * |
|
| 136 | - * @param IRouter $router: Instancia de un Router |
|
| 137 | - * @param array|null $config: Arreglo de configuración |
|
| 138 | - * |
|
| 139 | - * @return void |
|
| 140 | - */ |
|
| 134 | + * Establece los parámetros de configuración de un controlador |
|
| 135 | + * |
|
| 136 | + * @param IRouter $router: Instancia de un Router |
|
| 137 | + * @param array|null $config: Arreglo de configuración |
|
| 138 | + * |
|
| 139 | + * @return void |
|
| 140 | + */ |
|
| 141 | 141 | private function setControllerConfig($config) { |
| 142 | 142 | # Configuración por defecto |
| 143 | 143 | $this->controllerConfig['twig_cache_reload'] = true; |
@@ -162,10 +162,10 @@ discard block |
||
| 162 | 162 | } |
| 163 | 163 | |
| 164 | 164 | /** |
| 165 | - * Acción que regula quién entra o no al controlador según la configuración |
|
| 166 | - * |
|
| 167 | - * @return void |
|
| 168 | - */ |
|
| 165 | + * Acción que regula quién entra o no al controlador según la configuración |
|
| 166 | + * |
|
| 167 | + * @return void |
|
| 168 | + */ |
|
| 169 | 169 | private function knowVisitorPermissions() { |
| 170 | 170 | # Sólamente usuarios logeados |
| 171 | 171 | if($this->controllerConfig['users_logged'] && !$this->is_logged) { |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | $this->template->addGlobal('is_logged', $this->is_logged); |
| 115 | 115 | |
| 116 | 116 | # Datos del usuario actual |
| 117 | - if($this->is_logged) { |
|
| 117 | + if ($this->is_logged) { |
|
| 118 | 118 | $this->user = (new Model\Users)->getOwnerUser(); |
| 119 | 119 | $this->template->addGlobal('owner_user', $this->user); |
| 120 | 120 | } |
@@ -145,17 +145,17 @@ discard block |
||
| 145 | 145 | $this->controllerConfig['users_not_logged'] = false; |
| 146 | 146 | |
| 147 | 147 | # Establecer las configuraciones pasadas |
| 148 | - if(null != $config) { |
|
| 148 | + if (null != $config) { |
|
| 149 | 149 | # Configura el autoreload del caché de twig |
| 150 | - if(array_key_exists('twig_cache_reload',$config)) { |
|
| 150 | + if (array_key_exists('twig_cache_reload', $config)) { |
|
| 151 | 151 | $this->controllerConfig['twig_cache_reload'] = (bool) $config['twig_cache_reload']; |
| 152 | 152 | } |
| 153 | 153 | # Configura el controlador para solo ser visto por usuarios logeados |
| 154 | - if(array_key_exists('users_logged',$config)) { |
|
| 154 | + if (array_key_exists('users_logged', $config)) { |
|
| 155 | 155 | $this->controllerConfig['users_logged'] = (bool) $config['users_logged']; |
| 156 | 156 | } |
| 157 | 157 | # Configura el controlador para solo ser visto por usuario no logeados |
| 158 | - if(array_key_exists('users_not_logged',$config)) { |
|
| 158 | + if (array_key_exists('users_not_logged', $config)) { |
|
| 159 | 159 | $this->controllerConfig['users_not_logged'] = (bool) $config['users_not_logged']; |
| 160 | 160 | } |
| 161 | 161 | } |
@@ -168,12 +168,12 @@ discard block |
||
| 168 | 168 | */ |
| 169 | 169 | private function knowVisitorPermissions() { |
| 170 | 170 | # Sólamente usuarios logeados |
| 171 | - if($this->controllerConfig['users_logged'] && !$this->is_logged) { |
|
| 171 | + if ($this->controllerConfig['users_logged'] && !$this->is_logged) { |
|
| 172 | 172 | $this->functions->redir(); |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | 175 | # Sólamente usuarios no logeados |
| 176 | - if($this->controllerConfig['users_not_logged'] && $this->is_logged) { |
|
| 176 | + if ($this->controllerConfig['users_not_logged'] && $this->is_logged) { |
|
| 177 | 177 | $this->functions->redir(); |
| 178 | 178 | } |
| 179 | 179 | } |
@@ -19,28 +19,28 @@ discard block |
||
| 19 | 19 | |
| 20 | 20 | final class Arrays extends \Twig_Extension { |
| 21 | 21 | |
| 22 | - //------------------------------------------------ |
|
| 22 | + //------------------------------------------------ |
|
| 23 | 23 | |
| 24 | 24 | /** |
| 25 | - * Suma los contenidos del segundo arreglo en el primer arreglo, en las coincidencias de llaves. |
|
| 26 | - * |
|
| 27 | - * Si el primer arreglo está vacío, copiará todo el segundo arreglo en el primero. |
|
| 28 | - * |
|
| 29 | - * Si el segundo arreglo está vacío, copiará todo el primer arreglo en el segundo. |
|
| 30 | - * |
|
| 31 | - * Si el arreglo $a tiene una estructura distinta a $b, la estructura de $a queda intacta y sólamente, |
|
| 32 | - * se hará sumas en las posiciones donde haya coincidencias de llaves. |
|
| 33 | - * |
|
| 34 | - * El valor null será tomado como cero. |
|
| 35 | - * |
|
| 36 | - * @param array $a: Primer arreglo |
|
| 37 | - * @param array $b: Segundo arreglo |
|
| 38 | - * |
|
| 39 | - * @throws RuntimeException si los arreglos son de distinto nivel |
|
| 40 | - * @throws RuntimeException si en la posición de coincidencia no se puede realizar una operación de suma |
|
| 41 | - * |
|
| 42 | - * @return array fusión de los dos arreglos, dejando intactal estructura de $a |
|
| 43 | - */ |
|
| 25 | + * Suma los contenidos del segundo arreglo en el primer arreglo, en las coincidencias de llaves. |
|
| 26 | + * |
|
| 27 | + * Si el primer arreglo está vacío, copiará todo el segundo arreglo en el primero. |
|
| 28 | + * |
|
| 29 | + * Si el segundo arreglo está vacío, copiará todo el primer arreglo en el segundo. |
|
| 30 | + * |
|
| 31 | + * Si el arreglo $a tiene una estructura distinta a $b, la estructura de $a queda intacta y sólamente, |
|
| 32 | + * se hará sumas en las posiciones donde haya coincidencias de llaves. |
|
| 33 | + * |
|
| 34 | + * El valor null será tomado como cero. |
|
| 35 | + * |
|
| 36 | + * @param array $a: Primer arreglo |
|
| 37 | + * @param array $b: Segundo arreglo |
|
| 38 | + * |
|
| 39 | + * @throws RuntimeException si los arreglos son de distinto nivel |
|
| 40 | + * @throws RuntimeException si en la posición de coincidencia no se puede realizar una operación de suma |
|
| 41 | + * |
|
| 42 | + * @return array fusión de los dos arreglos, dejando intactal estructura de $a |
|
| 43 | + */ |
|
| 44 | 44 | final public static function arrays_sum(array $a, array $b) : array { |
| 45 | 45 | # Si alguno está vacío |
| 46 | 46 | if(sizeof($a) == 0) { |
@@ -84,13 +84,13 @@ discard block |
||
| 84 | 84 | //------------------------------------------------ |
| 85 | 85 | |
| 86 | 86 | /** |
| 87 | - * Dado un índice asociativo y un arreglo, devuelve el índice numérico correspondiente al asociativo |
|
| 88 | - * |
|
| 89 | - * @param string $index: Índice asociativo del arreglo |
|
| 90 | - * @param array $a: Arreglo a evaluar |
|
| 91 | - * |
|
| 92 | - * @return int el índice correspondiente, -1 si no existe el indice |
|
| 93 | - */ |
|
| 87 | + * Dado un índice asociativo y un arreglo, devuelve el índice numérico correspondiente al asociativo |
|
| 88 | + * |
|
| 89 | + * @param string $index: Índice asociativo del arreglo |
|
| 90 | + * @param array $a: Arreglo a evaluar |
|
| 91 | + * |
|
| 92 | + * @return int el índice correspondiente, -1 si no existe el indice |
|
| 93 | + */ |
|
| 94 | 94 | final public static function get_key_by_index(string $index, array $a) : int { |
| 95 | 95 | $i = 0; |
| 96 | 96 | foreach ($a as $key => $val) { |
@@ -105,14 +105,14 @@ discard block |
||
| 105 | 105 | //------------------------------------------------ |
| 106 | 106 | |
| 107 | 107 | /** |
| 108 | - * Elimina todos los elementos repetidos de un array |
|
| 109 | - * (string) '1' se considera igual a (int) 1 |
|
| 110 | - * |
|
| 111 | - * @param array $a: Arreglo a evaluar |
|
| 112 | - * |
|
| 113 | - * @return array devuelve un arreglo sin elementos repetidos |
|
| 114 | - * http://stackoverflow.com/questions/8321620/array-unique-vs-array-flip |
|
| 115 | - */ |
|
| 108 | + * Elimina todos los elementos repetidos de un array |
|
| 109 | + * (string) '1' se considera igual a (int) 1 |
|
| 110 | + * |
|
| 111 | + * @param array $a: Arreglo a evaluar |
|
| 112 | + * |
|
| 113 | + * @return array devuelve un arreglo sin elementos repetidos |
|
| 114 | + * http://stackoverflow.com/questions/8321620/array-unique-vs-array-flip |
|
| 115 | + */ |
|
| 116 | 116 | final public static function unique_array(array $a) : array { |
| 117 | 117 | return array_keys(array_flip($a)); |
| 118 | 118 | } |
@@ -120,12 +120,12 @@ discard block |
||
| 120 | 120 | //------------------------------------------------ |
| 121 | 121 | |
| 122 | 122 | /** |
| 123 | - * Evalúa si un arreglo es de tipo asociativo o no |
|
| 124 | - * |
|
| 125 | - * @param array $a: Arreglo a evaluar |
|
| 126 | - * |
|
| 127 | - * @return false si no lo es, true si lo es |
|
| 128 | - */ |
|
| 123 | + * Evalúa si un arreglo es de tipo asociativo o no |
|
| 124 | + * |
|
| 125 | + * @param array $a: Arreglo a evaluar |
|
| 126 | + * |
|
| 127 | + * @return false si no lo es, true si lo es |
|
| 128 | + */ |
|
| 129 | 129 | final public static function is_assoc(array $a) : bool { |
| 130 | 130 | if(sizeof($a) === 0) { |
| 131 | 131 | return false; |
@@ -137,12 +137,12 @@ discard block |
||
| 137 | 137 | //------------------------------------------------ |
| 138 | 138 | |
| 139 | 139 | /** |
| 140 | - * Evalúa si un arreglo es secuencial (de índices numéricos) |
|
| 141 | - * |
|
| 142 | - * @param array $a: Arreglo a evaluar |
|
| 143 | - * |
|
| 144 | - * @return false si no lo es, true si lo es |
|
| 145 | - */ |
|
| 140 | + * Evalúa si un arreglo es secuencial (de índices numéricos) |
|
| 141 | + * |
|
| 142 | + * @param array $a: Arreglo a evaluar |
|
| 143 | + * |
|
| 144 | + * @return false si no lo es, true si lo es |
|
| 145 | + */ |
|
| 146 | 146 | final public static function is_numeric_array(array $a) : bool { |
| 147 | 147 | return !self::is_assoc($a); |
| 148 | 148 | } |
@@ -150,12 +150,12 @@ discard block |
||
| 150 | 150 | //------------------------------------------------ |
| 151 | 151 | |
| 152 | 152 | /** |
| 153 | - * Obtiene de forma random un elemento de un arreglo |
|
| 154 | - * |
|
| 155 | - * @param array $a: Arreglo a evaluar |
|
| 156 | - * |
|
| 157 | - * @return mixed, elemento random dentro del arreglo |
|
| 158 | - */ |
|
| 153 | + * Obtiene de forma random un elemento de un arreglo |
|
| 154 | + * |
|
| 155 | + * @param array $a: Arreglo a evaluar |
|
| 156 | + * |
|
| 157 | + * @return mixed, elemento random dentro del arreglo |
|
| 158 | + */ |
|
| 159 | 159 | final public static function array_random_element(array $a) { |
| 160 | 160 | return $a[array_rand($a)]; |
| 161 | 161 | } |
@@ -163,10 +163,10 @@ discard block |
||
| 163 | 163 | //------------------------------------------------ |
| 164 | 164 | |
| 165 | 165 | /** |
| 166 | - * Se obtiene de Twig_Extension y sirve para que cada función esté disponible como etiqueta en twig |
|
| 167 | - * |
|
| 168 | - * @return array: Todas las funciones con sus respectivos nombres de acceso en plantillas twig |
|
| 169 | - */ |
|
| 166 | + * Se obtiene de Twig_Extension y sirve para que cada función esté disponible como etiqueta en twig |
|
| 167 | + * |
|
| 168 | + * @return array: Todas las funciones con sus respectivos nombres de acceso en plantillas twig |
|
| 169 | + */ |
|
| 170 | 170 | public function getFunctions() : array { |
| 171 | 171 | return array( |
| 172 | 172 | new \Twig_Function('get_key_by_index', array($this, 'get_key_by_index')), |
@@ -181,10 +181,10 @@ discard block |
||
| 181 | 181 | //------------------------------------------------ |
| 182 | 182 | |
| 183 | 183 | /** |
| 184 | - * Identificador único para la extensión de twig |
|
| 185 | - * |
|
| 186 | - * @return string: Nombre de la extensión |
|
| 187 | - */ |
|
| 184 | + * Identificador único para la extensión de twig |
|
| 185 | + * |
|
| 186 | + * @return string: Nombre de la extensión |
|
| 187 | + */ |
|
| 188 | 188 | public function getName() : string { |
| 189 | 189 | return 'ocrend_framework_helper_arrays'; |
| 190 | 190 | } |
@@ -43,32 +43,32 @@ discard block |
||
| 43 | 43 | */ |
| 44 | 44 | final public static function arrays_sum(array $a, array $b) : array { |
| 45 | 45 | # Si alguno está vacío |
| 46 | - if(sizeof($a) == 0) { |
|
| 46 | + if (sizeof($a) == 0) { |
|
| 47 | 47 | return $b; |
| 48 | - } else if(sizeof($b) == 0) { |
|
| 48 | + } else if (sizeof($b) == 0) { |
|
| 49 | 49 | return $a; |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | # Recorrer el segundo arreglo |
| 53 | - foreach($b as $llave => $contenido) { |
|
| 53 | + foreach ($b as $llave => $contenido) { |
|
| 54 | 54 | |
| 55 | 55 | # Desnivel |
| 56 | - if(is_array($contenido)) { |
|
| 57 | - throw new \RuntimeException('El arreglo $b en la llave '.$llave.' es un arreglo y no puede operar.'); |
|
| 56 | + if (is_array($contenido)) { |
|
| 57 | + throw new \RuntimeException('El arreglo $b en la llave ' . $llave . ' es un arreglo y no puede operar.'); |
|
| 58 | 58 | break; |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | 61 | # Existencia de la llave |
| 62 | - if(array_key_exists($llave,$a)) { |
|
| 62 | + if (array_key_exists($llave, $a)) { |
|
| 63 | 63 | # Excepciones de uso |
| 64 | - if(is_array($a[$llave])) { |
|
| 65 | - throw new \RuntimeException('El arreglo $a en la llave '.$llave.' es un arreglo y no puede operar.'); |
|
| 64 | + if (is_array($a[$llave])) { |
|
| 65 | + throw new \RuntimeException('El arreglo $a en la llave ' . $llave . ' es un arreglo y no puede operar.'); |
|
| 66 | 66 | break; |
| 67 | - } else if(!is_numeric($a[$llave]) && null !== $a[$llave]) { |
|
| 68 | - throw new \RuntimeException('El arreglo $a en la llave '.$llave.' no es un número y no puede operar.'); |
|
| 67 | + } else if (!is_numeric($a[$llave]) && null !== $a[$llave]) { |
|
| 68 | + throw new \RuntimeException('El arreglo $a en la llave ' . $llave . ' no es un número y no puede operar.'); |
|
| 69 | 69 | break; |
| 70 | - } else if(!is_numeric($b[$llave]) && null !== $b[$llave]) { |
|
| 71 | - throw new \RuntimeException('El arreglo $b en la llave '.$llave.' no es un número y no puede operar.'); |
|
| 70 | + } else if (!is_numeric($b[$llave]) && null !== $b[$llave]) { |
|
| 71 | + throw new \RuntimeException('El arreglo $b en la llave ' . $llave . ' no es un número y no puede operar.'); |
|
| 72 | 72 | break; |
| 73 | 73 | } |
| 74 | 74 | |
@@ -94,7 +94,7 @@ discard block |
||
| 94 | 94 | final public static function get_key_by_index(string $index, array $a) : int { |
| 95 | 95 | $i = 0; |
| 96 | 96 | foreach ($a as $key => $val) { |
| 97 | - if($key == $index) { |
|
| 97 | + if ($key == $index) { |
|
| 98 | 98 | return (int) $i; |
| 99 | 99 | } |
| 100 | 100 | $i++; |
@@ -127,7 +127,7 @@ discard block |
||
| 127 | 127 | * @return false si no lo es, true si lo es |
| 128 | 128 | */ |
| 129 | 129 | final public static function is_assoc(array $a) : bool { |
| 130 | - if(sizeof($a) === 0) { |
|
| 130 | + if (sizeof($a) === 0) { |
|
| 131 | 131 | return false; |
| 132 | 132 | } |
| 133 | 133 | |
@@ -20,13 +20,13 @@ discard block |
||
| 20 | 20 | final class Strings extends \Twig_Extension { |
| 21 | 21 | //------------------------------------------------ |
| 22 | 22 | /** |
| 23 | - * Convierte un tiempo dado al formato hace 1 minuto, hace 2 horas, hace 1 año ... |
|
| 24 | - * |
|
| 25 | - * @param int $from: Tiempo en segundo desde donde se desea contar |
|
| 26 | - * @param int $to: Tiempo en segundo hasta donde se desea contar, si no se pasa por defecto es el tiempo actual |
|
| 27 | - * |
|
| 28 | - * @return string con la forma: hace 20 segundos, hace 1 minuto, hace 2 horas, hace 4 días, hace 1 semana, hace 3 meses, hace 1 año ... |
|
| 29 | - */ |
|
| 23 | + * Convierte un tiempo dado al formato hace 1 minuto, hace 2 horas, hace 1 año ... |
|
| 24 | + * |
|
| 25 | + * @param int $from: Tiempo en segundo desde donde se desea contar |
|
| 26 | + * @param int $to: Tiempo en segundo hasta donde se desea contar, si no se pasa por defecto es el tiempo actual |
|
| 27 | + * |
|
| 28 | + * @return string con la forma: hace 20 segundos, hace 1 minuto, hace 2 horas, hace 4 días, hace 1 semana, hace 3 meses, hace 1 año ... |
|
| 29 | + */ |
|
| 30 | 30 | final public static function amigable_time(int $from, int $to = 0) : string { |
| 31 | 31 | $to = $to == 0 ? time() : $to; |
| 32 | 32 | $form = new \DateTime(date('Y-m-d H:i:s', $from)); |
@@ -65,39 +65,39 @@ discard block |
||
| 65 | 65 | } |
| 66 | 66 | //------------------------------------------------ |
| 67 | 67 | /** |
| 68 | - * Compara un string hash con un string sin hash, si el string sin hash al encriptar posee la misma llave que hash, son iguales |
|
| 69 | - * |
|
| 70 | - * @param string $hash: Hash con la forma $2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G |
|
| 71 | - * @param string $s2: Cadena de texto a comparar |
|
| 72 | - * |
|
| 73 | - * @example Strings::chash('$2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G','123456'); //return true |
|
| 74 | - * |
|
| 75 | - * @return true si $s2 contiene la misma llave que $hash, por tanto el contenido de $hash es $s2, de lo contrario false |
|
| 76 | - */ |
|
| 68 | + * Compara un string hash con un string sin hash, si el string sin hash al encriptar posee la misma llave que hash, son iguales |
|
| 69 | + * |
|
| 70 | + * @param string $hash: Hash con la forma $2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G |
|
| 71 | + * @param string $s2: Cadena de texto a comparar |
|
| 72 | + * |
|
| 73 | + * @example Strings::chash('$2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G','123456'); //return true |
|
| 74 | + * |
|
| 75 | + * @return true si $s2 contiene la misma llave que $hash, por tanto el contenido de $hash es $s2, de lo contrario false |
|
| 76 | + */ |
|
| 77 | 77 | final public static function chash(string $hash, string $s2) : bool { |
| 78 | 78 | return ($hash == crypt($s2, substr($hash, 0, 29))); |
| 79 | - } |
|
| 80 | - //------------------------------------------------ |
|
| 79 | + } |
|
| 80 | + //------------------------------------------------ |
|
| 81 | 81 | /** |
| 82 | - * Devuelve un hash DINÁMICO, para comparar un hash con un elemento se utiliza chash |
|
| 83 | - * |
|
| 84 | - * @param string $p: Cadena de texto a encriptar |
|
| 85 | - * |
|
| 86 | - * @return string Hash, con la forma $2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G |
|
| 87 | - */ |
|
| 82 | + * Devuelve un hash DINÁMICO, para comparar un hash con un elemento se utiliza chash |
|
| 83 | + * |
|
| 84 | + * @param string $p: Cadena de texto a encriptar |
|
| 85 | + * |
|
| 86 | + * @return string Hash, con la forma $2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G |
|
| 87 | + */ |
|
| 88 | 88 | final public static function hash(string $p) : string { |
| 89 | 89 | return crypt($p, '$2a$10$' . substr(sha1(mt_rand()),0,22)); |
| 90 | 90 | } |
| 91 | 91 | //------------------------------------------------ |
| 92 | 92 | /** |
| 93 | - * Calcula el tiempo de diferencia entre dos fechas |
|
| 94 | - * |
|
| 95 | - * @param string $ini: Fecha menor con el formato d-m-Y ó d/m/Y |
|
| 96 | - * @param string $fin: Fecha mayor con el formato d-m-Y ó d/m/Y |
|
| 97 | - * |
|
| 98 | - * @return integer con la diferencia de tiempo en días |
|
| 99 | - * |
|
| 100 | - */ |
|
| 93 | + * Calcula el tiempo de diferencia entre dos fechas |
|
| 94 | + * |
|
| 95 | + * @param string $ini: Fecha menor con el formato d-m-Y ó d/m/Y |
|
| 96 | + * @param string $fin: Fecha mayor con el formato d-m-Y ó d/m/Y |
|
| 97 | + * |
|
| 98 | + * @return integer con la diferencia de tiempo en días |
|
| 99 | + * |
|
| 100 | + */ |
|
| 101 | 101 | final public static function date_difference(string $ini, string $fin) : int { |
| 102 | 102 | $ini_i = explode('-',str_replace('/','-',$ini)); |
| 103 | 103 | $fin_i = explode('-',str_replace('/','-',$fin)); |
@@ -105,90 +105,90 @@ discard block |
||
| 105 | 105 | } |
| 106 | 106 | //------------------------------------------------ |
| 107 | 107 | /** |
| 108 | - * Calcula la edad de una persona segun la fecha de nacimiento |
|
| 109 | - * |
|
| 110 | - * @param string $cumple: Fecha de nacimiento con el formato d-m-Y ó d/m/Y |
|
| 111 | - * |
|
| 112 | - * @return integer con la edad |
|
| 113 | - * |
|
| 114 | - */ |
|
| 108 | + * Calcula la edad de una persona segun la fecha de nacimiento |
|
| 109 | + * |
|
| 110 | + * @param string $cumple: Fecha de nacimiento con el formato d-m-Y ó d/m/Y |
|
| 111 | + * |
|
| 112 | + * @return integer con la edad |
|
| 113 | + * |
|
| 114 | + */ |
|
| 115 | 115 | final public static function calculate_age(string $cumple) : int { |
| 116 | 116 | $age = explode('.', (string) (self::date_difference($cumple,date('d-m-Y',time())) / 365)); |
| 117 | 117 | return (int) $age[0]; |
| 118 | 118 | } |
| 119 | 119 | //------------------------------------------------ |
| 120 | 120 | /** |
| 121 | - * Calcula cuántos días tiene el mes actual |
|
| 122 | - * |
|
| 123 | - * @return integer con la cantidad de días del mes |
|
| 124 | - * |
|
| 125 | - */ |
|
| 121 | + * Calcula cuántos días tiene el mes actual |
|
| 122 | + * |
|
| 123 | + * @return integer con la cantidad de días del mes |
|
| 124 | + * |
|
| 125 | + */ |
|
| 126 | 126 | final public static function days_of_month() : int { |
| 127 | 127 | return cal_days_in_month(CAL_GREGORIAN, date('m',time()), date('Y',time())); |
| 128 | 128 | } |
| 129 | 129 | //------------------------------------------------ |
| 130 | 130 | /** |
| 131 | - * Verifica si una cadena de texto tiene forma de email |
|
| 132 | - * |
|
| 133 | - * @param string $address: Cadena de texto con el email |
|
| 134 | - * |
|
| 135 | - * @return bool devuelve TRUE si es un email y FALSE si no lo es |
|
| 136 | - */ |
|
| 131 | + * Verifica si una cadena de texto tiene forma de email |
|
| 132 | + * |
|
| 133 | + * @param string $address: Cadena de texto con el email |
|
| 134 | + * |
|
| 135 | + * @return bool devuelve TRUE si es un email y FALSE si no lo es |
|
| 136 | + */ |
|
| 137 | 137 | final public static function is_email(string $address) : bool { |
| 138 | 138 | return filter_var($address, FILTER_VALIDATE_EMAIL); |
| 139 | 139 | } |
| 140 | 140 | //------------------------------------------------ |
| 141 | 141 | /** |
| 142 | - * Remueve todos los espacios en blanco de un string |
|
| 143 | - * |
|
| 144 | - * @param string $s: Cadena de texto a convertir |
|
| 145 | - * |
|
| 146 | - * @return string del texto sin espacios |
|
| 147 | - */ |
|
| 142 | + * Remueve todos los espacios en blanco de un string |
|
| 143 | + * |
|
| 144 | + * @param string $s: Cadena de texto a convertir |
|
| 145 | + * |
|
| 146 | + * @return string del texto sin espacios |
|
| 147 | + */ |
|
| 148 | 148 | final public static function remove_spaces(string $s) : string { |
| 149 | 149 | return trim(str_replace(' ','',$s)); |
| 150 | 150 | } |
| 151 | 151 | //------------------------------------------------ |
| 152 | 152 | /** |
| 153 | - * Analiza si una cadena de texto es alfanumérica |
|
| 154 | - * |
|
| 155 | - * @param string $s: Cadena de texto a verificar |
|
| 156 | - * |
|
| 157 | - * @return bool, verdadero si es alfanumerica, falso si no |
|
| 158 | - */ |
|
| 153 | + * Analiza si una cadena de texto es alfanumérica |
|
| 154 | + * |
|
| 155 | + * @param string $s: Cadena de texto a verificar |
|
| 156 | + * |
|
| 157 | + * @return bool, verdadero si es alfanumerica, falso si no |
|
| 158 | + */ |
|
| 159 | 159 | final public static function alphanumeric(string $s) : bool { |
| 160 | 160 | return ctype_alnum(self::remove_spaces($s)); |
| 161 | 161 | } |
| 162 | 162 | //------------------------------------------------ |
| 163 | 163 | /** |
| 164 | - * Analiza si una cadena de texto verificando si sólamente tiene letras |
|
| 165 | - * |
|
| 166 | - * @param string $s: Cadena de texto a verificar |
|
| 167 | - * |
|
| 168 | - * @return bool, verdadero si sólamente tiene letras, falso si no |
|
| 169 | - */ |
|
| 164 | + * Analiza si una cadena de texto verificando si sólamente tiene letras |
|
| 165 | + * |
|
| 166 | + * @param string $s: Cadena de texto a verificar |
|
| 167 | + * |
|
| 168 | + * @return bool, verdadero si sólamente tiene letras, falso si no |
|
| 169 | + */ |
|
| 170 | 170 | final public static function only_letters(string $s) : bool { |
| 171 | 171 | return ctype_alpha(self::remove_spaces($s)); |
| 172 | 172 | } |
| 173 | 173 | //------------------------------------------------ |
| 174 | 174 | /** |
| 175 | - * Analiza si una cadena de texto contiene sólamente letras y números |
|
| 176 | - * |
|
| 177 | - * @param string $s: Cadena de texto a verificar |
|
| 178 | - * |
|
| 179 | - * @return bool, verdadero si sólamente contiene letras y números, falso si no |
|
| 180 | - */ |
|
| 175 | + * Analiza si una cadena de texto contiene sólamente letras y números |
|
| 176 | + * |
|
| 177 | + * @param string $s: Cadena de texto a verificar |
|
| 178 | + * |
|
| 179 | + * @return bool, verdadero si sólamente contiene letras y números, falso si no |
|
| 180 | + */ |
|
| 181 | 181 | final public static function letters_and_numbers(string $s) : bool { |
| 182 | 182 | return (boolean) preg_match('/^[\w.]*$/', self::remove_spaces($s)); |
| 183 | 183 | } |
| 184 | 184 | //------------------------------------------------ |
| 185 | 185 | /** |
| 186 | - * Convierte una expresión de texto, a una compatible con url amigables |
|
| 187 | - * |
|
| 188 | - * @param string $url: Cadena de texto a convertir |
|
| 189 | - * |
|
| 190 | - * @return string Cadena de texto con formato de url amigable |
|
| 191 | - */ |
|
| 186 | + * Convierte una expresión de texto, a una compatible con url amigables |
|
| 187 | + * |
|
| 188 | + * @param string $url: Cadena de texto a convertir |
|
| 189 | + * |
|
| 190 | + * @return string Cadena de texto con formato de url amigable |
|
| 191 | + */ |
|
| 192 | 192 | final public static function url_amigable(string $url) : string { |
| 193 | 193 | $url = strtolower($url); |
| 194 | 194 | $url = str_replace (['á', 'é', 'í', 'ó', 'ú', 'ñ'],['a', 'e', 'i', 'o', 'u', 'n'], $url); |
@@ -197,12 +197,12 @@ discard block |
||
| 197 | 197 | } |
| 198 | 198 | //------------------------------------------------ |
| 199 | 199 | /** |
| 200 | - * Convierte código BBCode en su equivalente HTML |
|
| 201 | - * |
|
| 202 | - * @param string $string: Código con formato BBCode dentro |
|
| 203 | - * |
|
| 204 | - * @return string del código BBCode transformado en HTML |
|
| 205 | - */ |
|
| 200 | + * Convierte código BBCode en su equivalente HTML |
|
| 201 | + * |
|
| 202 | + * @param string $string: Código con formato BBCode dentro |
|
| 203 | + * |
|
| 204 | + * @return string del código BBCode transformado en HTML |
|
| 205 | + */ |
|
| 206 | 206 | final public static function bbcode(string $string) : string { |
| 207 | 207 | $BBcode = array( |
| 208 | 208 | '/\[i\](.*?)\[\/i\]/is', |
@@ -250,58 +250,58 @@ discard block |
||
| 250 | 250 | } |
| 251 | 251 | //------------------------------------------------ |
| 252 | 252 | /** |
| 253 | - * Dice si un string comienza con un caracter especificado |
|
| 254 | - * |
|
| 255 | - * @param string $sx: Caracter de inicio |
|
| 256 | - * @param string $str: String a evaluar |
|
| 257 | - * @param bool $case_sensitive: Boolean para definir si será seible a mayúsculas o no |
|
| 258 | - * |
|
| 259 | - * @return bool: True si comienza con el caracter especificado, False si no |
|
| 260 | - */ |
|
| 253 | + * Dice si un string comienza con un caracter especificado |
|
| 254 | + * |
|
| 255 | + * @param string $sx: Caracter de inicio |
|
| 256 | + * @param string $str: String a evaluar |
|
| 257 | + * @param bool $case_sensitive: Boolean para definir si será seible a mayúsculas o no |
|
| 258 | + * |
|
| 259 | + * @return bool: True si comienza con el caracter especificado, False si no |
|
| 260 | + */ |
|
| 261 | 261 | final public static function begin_with(string $sx, string $str) : bool { |
| 262 | 262 | return (bool) (strlen($str) > 0 and $str[0] == $sx); |
| 263 | 263 | } |
| 264 | 264 | //------------------------------------------------ |
| 265 | 265 | /** |
| 266 | - * Dice si un string termina con una caracter especificado |
|
| 267 | - * |
|
| 268 | - * @param string $sx: Caracter del final |
|
| 269 | - * @param string $str: String a evaluar |
|
| 270 | - * |
|
| 271 | - * @return bool: True si termina con el caracter especificado, False si no |
|
| 272 | - */ |
|
| 266 | + * Dice si un string termina con una caracter especificado |
|
| 267 | + * |
|
| 268 | + * @param string $sx: Caracter del final |
|
| 269 | + * @param string $str: String a evaluar |
|
| 270 | + * |
|
| 271 | + * @return bool: True si termina con el caracter especificado, False si no |
|
| 272 | + */ |
|
| 273 | 273 | final public static function end_with(string $sx, string $str) : bool { |
| 274 | 274 | return (bool) (strlen($str) > 0 and $str[strlen($str) - 1] == $sx); |
| 275 | 275 | } |
| 276 | 276 | //------------------------------------------------ |
| 277 | 277 | /** |
| 278 | - * Ver si un string está contenido en otro |
|
| 279 | - * |
|
| 280 | - * @param $s: String contenido en $str |
|
| 281 | - * @param $str: String a evaluar |
|
| 282 | - * |
|
| 283 | - * @return bool: True si $s está dentro de $str, False si no |
|
| 284 | - */ |
|
| 278 | + * Ver si un string está contenido en otro |
|
| 279 | + * |
|
| 280 | + * @param $s: String contenido en $str |
|
| 281 | + * @param $str: String a evaluar |
|
| 282 | + * |
|
| 283 | + * @return bool: True si $s está dentro de $str, False si no |
|
| 284 | + */ |
|
| 285 | 285 | final public static function contain(string $s, string $str) : bool { |
| 286 | 286 | return (bool) (strpos($str, $s) !== false); |
| 287 | 287 | } |
| 288 | 288 | //------------------------------------------------ |
| 289 | 289 | /** |
| 290 | - * Devuelve la cantidad de palabras en un string |
|
| 291 | - * |
|
| 292 | - * @param $str: String a evaluar |
|
| 293 | - * |
|
| 294 | - * @return int: Cantidad de palabras |
|
| 295 | - */ |
|
| 290 | + * Devuelve la cantidad de palabras en un string |
|
| 291 | + * |
|
| 292 | + * @param $str: String a evaluar |
|
| 293 | + * |
|
| 294 | + * @return int: Cantidad de palabras |
|
| 295 | + */ |
|
| 296 | 296 | final public static function count_words(string $s) : int { |
| 297 | 297 | return str_word_count($s,0); |
| 298 | 298 | } |
| 299 | 299 | //------------------------------------------------ |
| 300 | 300 | /** |
| 301 | - * Se obtiene de Twig_Extension y sirve para que cada función esté disponible como etiqueta en twig |
|
| 302 | - * |
|
| 303 | - * @return array: Todas las funciones con sus respectivos nombres de acceso en plantillas twig |
|
| 304 | - */ |
|
| 301 | + * Se obtiene de Twig_Extension y sirve para que cada función esté disponible como etiqueta en twig |
|
| 302 | + * |
|
| 303 | + * @return array: Todas las funciones con sus respectivos nombres de acceso en plantillas twig |
|
| 304 | + */ |
|
| 305 | 305 | public function getFunctions() : array { |
| 306 | 306 | return array( |
| 307 | 307 | new \Twig_Function('amigable_time', array($this, 'amigable_time')), |
@@ -325,10 +325,10 @@ discard block |
||
| 325 | 325 | } |
| 326 | 326 | //------------------------------------------------ |
| 327 | 327 | /** |
| 328 | - * Identificador único para la extensión de twig |
|
| 329 | - * |
|
| 330 | - * @return string: Nombre de la extensión |
|
| 331 | - */ |
|
| 328 | + * Identificador único para la extensión de twig |
|
| 329 | + * |
|
| 330 | + * @return string: Nombre de la extensión |
|
| 331 | + */ |
|
| 332 | 332 | public function getName() : string { |
| 333 | 333 | return 'ocrend_framework_helper_strings'; |
| 334 | 334 | } |
@@ -41,7 +41,7 @@ discard block |
||
| 41 | 41 | } elseif ($diff->m == 1) { |
| 42 | 42 | $text = '1 mes'; |
| 43 | 43 | } elseif ($diff->d > 7) { |
| 44 | - $text = ceil($diff->d / 7) . ' semanas'; |
|
| 44 | + $text = ceil($diff->d/7) . ' semanas'; |
|
| 45 | 45 | } elseif ($diff->d == 7) { |
| 46 | 46 | $text = '1 semana'; |
| 47 | 47 | } elseif ($diff->d > 1) { |
@@ -86,7 +86,7 @@ discard block |
||
| 86 | 86 | * @return string Hash, con la forma $2a$10$87b2b603324793cc37f8dOPFTnHRY0lviq5filK5cN4aMCQDJcC9G |
| 87 | 87 | */ |
| 88 | 88 | final public static function hash(string $p) : string { |
| 89 | - return crypt($p, '$2a$10$' . substr(sha1(mt_rand()),0,22)); |
|
| 89 | + return crypt($p, '$2a$10$' . substr(sha1(mt_rand()), 0, 22)); |
|
| 90 | 90 | } |
| 91 | 91 | //------------------------------------------------ |
| 92 | 92 | /** |
@@ -99,9 +99,9 @@ discard block |
||
| 99 | 99 | * |
| 100 | 100 | */ |
| 101 | 101 | final public static function date_difference(string $ini, string $fin) : int { |
| 102 | - $ini_i = explode('-',str_replace('/','-',$ini)); |
|
| 103 | - $fin_i = explode('-',str_replace('/','-',$fin)); |
|
| 104 | - return floor((mktime(0, 0, 0, $fin_i[1], $fin_i[0], $fin_i[2]) - mktime(0, 0, 0, $ini_i[1], $ini_i[0], $ini_i[2])) / 86400); |
|
| 102 | + $ini_i = explode('-', str_replace('/', '-', $ini)); |
|
| 103 | + $fin_i = explode('-', str_replace('/', '-', $fin)); |
|
| 104 | + return floor((mktime(0, 0, 0, $fin_i[1], $fin_i[0], $fin_i[2]) - mktime(0, 0, 0, $ini_i[1], $ini_i[0], $ini_i[2]))/86400); |
|
| 105 | 105 | } |
| 106 | 106 | //------------------------------------------------ |
| 107 | 107 | /** |
@@ -113,7 +113,7 @@ discard block |
||
| 113 | 113 | * |
| 114 | 114 | */ |
| 115 | 115 | final public static function calculate_age(string $cumple) : int { |
| 116 | - $age = explode('.', (string) (self::date_difference($cumple,date('d-m-Y',time())) / 365)); |
|
| 116 | + $age = explode('.', (string) (self::date_difference($cumple, date('d-m-Y', time()))/365)); |
|
| 117 | 117 | return (int) $age[0]; |
| 118 | 118 | } |
| 119 | 119 | //------------------------------------------------ |
@@ -124,7 +124,7 @@ discard block |
||
| 124 | 124 | * |
| 125 | 125 | */ |
| 126 | 126 | final public static function days_of_month() : int { |
| 127 | - return cal_days_in_month(CAL_GREGORIAN, date('m',time()), date('Y',time())); |
|
| 127 | + return cal_days_in_month(CAL_GREGORIAN, date('m', time()), date('Y', time())); |
|
| 128 | 128 | } |
| 129 | 129 | //------------------------------------------------ |
| 130 | 130 | /** |
@@ -146,7 +146,7 @@ discard block |
||
| 146 | 146 | * @return string del texto sin espacios |
| 147 | 147 | */ |
| 148 | 148 | final public static function remove_spaces(string $s) : string { |
| 149 | - return trim(str_replace(' ','',$s)); |
|
| 149 | + return trim(str_replace(' ', '', $s)); |
|
| 150 | 150 | } |
| 151 | 151 | //------------------------------------------------ |
| 152 | 152 | /** |
@@ -191,9 +191,9 @@ discard block |
||
| 191 | 191 | */ |
| 192 | 192 | final public static function url_amigable(string $url) : string { |
| 193 | 193 | $url = strtolower($url); |
| 194 | - $url = str_replace (['á', 'é', 'í', 'ó', 'ú', 'ñ'],['a', 'e', 'i', 'o', 'u', 'n'], $url); |
|
| 195 | - $url = str_replace([' ', '&', '\r\n', '\n', '+', '%'],'-',$url); |
|
| 196 | - return preg_replace (['/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'],['', '-', ''], $url); |
|
| 194 | + $url = str_replace(['á', 'é', 'í', 'ó', 'ú', 'ñ'], ['a', 'e', 'i', 'o', 'u', 'n'], $url); |
|
| 195 | + $url = str_replace([' ', '&', '\r\n', '\n', '+', '%'], '-', $url); |
|
| 196 | + return preg_replace(['/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'], ['', '-', ''], $url); |
|
| 197 | 197 | } |
| 198 | 198 | //------------------------------------------------ |
| 199 | 199 | /** |
@@ -246,7 +246,7 @@ discard block |
||
| 246 | 246 | '<span style="font-size: $1px">$2</span>', |
| 247 | 247 | '<span style="font-family: $1">$2</span>' |
| 248 | 248 | ); |
| 249 | - return nl2br(preg_replace($BBcode,$HTML,$string)); |
|
| 249 | + return nl2br(preg_replace($BBcode, $HTML, $string)); |
|
| 250 | 250 | } |
| 251 | 251 | //------------------------------------------------ |
| 252 | 252 | /** |
@@ -294,7 +294,7 @@ discard block |
||
| 294 | 294 | * @return int: Cantidad de palabras |
| 295 | 295 | */ |
| 296 | 296 | final public static function count_words(string $s) : int { |
| 297 | - return str_word_count($s,0); |
|
| 297 | + return str_word_count($s, 0); |
|
| 298 | 298 | } |
| 299 | 299 | //------------------------------------------------ |
| 300 | 300 | /** |
@@ -20,14 +20,14 @@ discard block |
||
| 20 | 20 | final class Emails { |
| 21 | 21 | |
| 22 | 22 | /** |
| 23 | - * FUNCIÓN NO ACCESIBLE, USO ESTRICTO PARA UNA FUNCIÓN INTERNA DEL HELPER |
|
| 24 | - * Inicializa la clase PHPMailer y las configuraciones necesarias |
|
| 25 | - * Método privado utilizado en todo el Helper |
|
| 26 | - * |
|
| 27 | - * @param bool $is_smtp: Define si se hará la conexión a través de SMTP o no |
|
| 28 | - * |
|
| 29 | - * @return PHPMailer object, retorna un objeto de la clase PHPMailer |
|
| 30 | - */ |
|
| 23 | + * FUNCIÓN NO ACCESIBLE, USO ESTRICTO PARA UNA FUNCIÓN INTERNA DEL HELPER |
|
| 24 | + * Inicializa la clase PHPMailer y las configuraciones necesarias |
|
| 25 | + * Método privado utilizado en todo el Helper |
|
| 26 | + * |
|
| 27 | + * @param bool $is_smtp: Define si se hará la conexión a través de SMTP o no |
|
| 28 | + * |
|
| 29 | + * @return PHPMailer object, retorna un objeto de la clase PHPMailer |
|
| 30 | + */ |
|
| 31 | 31 | final private static function init(bool $is_smtp = true) : \PHPMailer { |
| 32 | 32 | global $config; |
| 33 | 33 | |
@@ -60,22 +60,22 @@ discard block |
||
| 60 | 60 | //------------------------------------------------ |
| 61 | 61 | |
| 62 | 62 | /** |
| 63 | - * Envía un correo electrónico utilizando PHPMailer |
|
| 64 | - * |
|
| 65 | - * @param array $dest: Arreglo con la forma array( |
|
| 66 | - * 'email destinatario 1' => 'nombre destinatario 1', |
|
| 67 | - * 'email destinatario 2' => 'nombre destinatario 2' |
|
| 68 | - * ) |
|
| 69 | - * @param string $HTML: Contenido en HTML del email |
|
| 70 | - * @param string $titulo: Asunto del email |
|
| 71 | - * @param bool $is_smtp: Define si se hará la conexión a través de SMTP o no |
|
| 72 | - * @param array $adj: Arreglo con direccion local de los adjuntos a enviar, con la forma array( |
|
| 73 | - * 'ruta archivo 1', |
|
| 74 | - * 'ruta archivo 2' |
|
| 75 | - * ) |
|
| 76 | - * |
|
| 77 | - * @return true si fue enviado correctamente, string con el Error descrito por PHPMailer |
|
| 78 | - */ |
|
| 63 | + * Envía un correo electrónico utilizando PHPMailer |
|
| 64 | + * |
|
| 65 | + * @param array $dest: Arreglo con la forma array( |
|
| 66 | + * 'email destinatario 1' => 'nombre destinatario 1', |
|
| 67 | + * 'email destinatario 2' => 'nombre destinatario 2' |
|
| 68 | + * ) |
|
| 69 | + * @param string $HTML: Contenido en HTML del email |
|
| 70 | + * @param string $titulo: Asunto del email |
|
| 71 | + * @param bool $is_smtp: Define si se hará la conexión a través de SMTP o no |
|
| 72 | + * @param array $adj: Arreglo con direccion local de los adjuntos a enviar, con la forma array( |
|
| 73 | + * 'ruta archivo 1', |
|
| 74 | + * 'ruta archivo 2' |
|
| 75 | + * ) |
|
| 76 | + * |
|
| 77 | + * @return true si fue enviado correctamente, string con el Error descrito por PHPMailer |
|
| 78 | + */ |
|
| 79 | 79 | final public static function send_mail(array $dest, string $HTML, string $titulo, bool $is_smtp = true, array $adj = []) { |
| 80 | 80 | global $config; |
| 81 | 81 | |
@@ -104,12 +104,12 @@ discard block |
||
| 104 | 104 | //------------------------------------------------ |
| 105 | 105 | |
| 106 | 106 | /** |
| 107 | - * Plantilla estándar que muestra de forma amigable el texto, utiliza bootstrap |
|
| 108 | - * |
|
| 109 | - * @param string $content: Cadena de texto en HTML, puede ser en bootstrap |
|
| 110 | - * |
|
| 111 | - * @return string con el HTML para enviar |
|
| 112 | - */ |
|
| 107 | + * Plantilla estándar que muestra de forma amigable el texto, utiliza bootstrap |
|
| 108 | + * |
|
| 109 | + * @param string $content: Cadena de texto en HTML, puede ser en bootstrap |
|
| 110 | + * |
|
| 111 | + * @return string con el HTML para enviar |
|
| 112 | + */ |
|
| 113 | 113 | final public static function plantilla(string $content) : string { |
| 114 | 114 | return ' |
| 115 | 115 | <html> |
@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | $mail->CharSet = "UTF-8"; |
| 36 | 36 | $mail->Encoding = "quoted-printable"; |
| 37 | 37 | |
| 38 | - if($is_smtp) { |
|
| 38 | + if ($is_smtp) { |
|
| 39 | 39 | $mail->isSMTP(); |
| 40 | 40 | $mail->SMTPAuth = true; |
| 41 | 41 | $mail->Host = $config['phpmailer']['host']; |
@@ -88,13 +88,13 @@ discard block |
||
| 88 | 88 | $mail->Subject = $titulo; |
| 89 | 89 | $mail->Body = $HTML; |
| 90 | 90 | |
| 91 | - if(sizeof($adj)) { |
|
| 91 | + if (sizeof($adj)) { |
|
| 92 | 92 | foreach ($adj as $ruta) { |
| 93 | 93 | $mail->AddAttachment($ruta); |
| 94 | 94 | } |
| 95 | 95 | } |
| 96 | 96 | |
| 97 | - if(!$mail->send()) { |
|
| 97 | + if (!$mail->send()) { |
|
| 98 | 98 | return $mail->ErrorInfo; |
| 99 | 99 | } |
| 100 | 100 | |
@@ -118,7 +118,7 @@ discard block |
||
| 118 | 118 | </head> |
| 119 | 119 | <body style="font-family: Verdana;"> |
| 120 | 120 | <section> |
| 121 | - '.$content.' |
|
| 121 | + '.$content . ' |
|
| 122 | 122 | </section> |
| 123 | 123 | </body> |
| 124 | 124 | </html>'; |