Skip to content

Commit 573654b

Browse files
committed
✔️MVC (Basic)✔️ - Models, Create PDF & Libreries
1 parent b791085 commit 573654b

File tree

244 files changed

+24128
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

244 files changed

+24128
-1
lines changed

application/Config.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,15 @@
2323
define('APP_NAME', 'Halcón Bit');
2424
define('APP_SLOGAN', 'Наука — это весело, наслаждайся ею.');
2525
define('APP_COMPANY', 'Halcón Bit');
26+
27+
/**
28+
* ===========================
29+
* | DATABASE |
30+
* ===========================
31+
*/
32+
define('DB_HOST', 'localhost');
33+
define('DB_USER', 'root');
34+
define('DB_PASS', '');
35+
define('DB_NAME', 'mipss_');
36+
define('DB_CHAR', 'utf8');
2637
?>

application/Controller.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,29 @@ public function __construct() {
1717
* And if a method is sent by mistake, it will be corrected by 'Bootstrap.php'
1818
*/
1919
abstract public function index();
20+
21+
/**
22+
*
23+
*/
24+
protected function loadModel($model) {
25+
$model = $model . 'Model';
26+
$rootModel = ROOT . 'models' . DS . $model . '.php';
27+
if(is_readable($rootModel)) {
28+
require_once $rootModel;
29+
$model = new $model;
30+
return $model;
31+
} else {
32+
throw new Exception('Error model');
33+
}
34+
}
35+
36+
protected function getLibrary($folder, $library, $version, $mainFile, $extension) {
37+
$rootLibrary = ROOT . 'libs' . DS . $folder . DS . $library . DS . 'version/' . $version . DS . $mainFile .'.' . $extension;
38+
if(is_readable($rootLibrary)) {
39+
require_once $rootLibrary;
40+
} else {
41+
throw new Exception('Error library');
42+
}
43+
}
2044
}
2145
?>

application/Database.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
class Database extends PDO {
3+
public function __construct() {
4+
parent::__construct('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => ' SET NAMES ' . DB_CHAR));
5+
}
6+
}
7+
?>

application/Model.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
class Model {
3+
protected $_db;
4+
public function __construct() {
5+
$this->_db = new Database();
6+
}
7+
}
8+
?>

application/View.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public function render($view, $item = false) {
2121
$menu = array(
2222
array('Rfrnc' => 'index', 'title' => 'Home', 'link' => BASE_URL),
2323
array('Rfrnc' => 'about', 'title' => 'About', 'link' => BASE_URL . 'about'),
24+
array('Rfrnc' => 'pdf', 'title' => 'PDF', 'link' => BASE_URL . 'pdf/testPDF/Halcon/Bit'),
2425
);
2526

2627
$_layoutParams = array(

controllers/aboutController.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ public function __construct() {
55
}
66

77
public function index() {
8+
$post = $this->loadModel('post');
9+
$this->_view->posts = $post->getPosts();
810
$this->_view->title = 'About';
911
$this->_view->render('index', 'about');
1012
}

controllers/pdfController.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
class pdfController extends Controller {
3+
4+
private $_pdf;
5+
6+
public function __construct() {
7+
parent::__construct();
8+
$this->getLibrary('PHP', 'fpdf', '1.83', 'fpdf', 'php');
9+
$this->_pdf = new FPDF;
10+
}
11+
12+
public function index() { }
13+
14+
/**
15+
* http://localhost/mvc-phpv7/pdf/testPDF/<$name>/<$lastname>
16+
* Example:
17+
* http://localhost/mvc-phpv7/pdf/testPDF/Brayan/Esteves
18+
*/
19+
public function testPDF($name, $lastname) {
20+
$this->_pdf->AddPage();
21+
$this->_pdf->SetFont('Arial','B',16);
22+
$this->_pdf->Cell(40,10, utf8_decode($name. '. ' . $lastname));
23+
$this->_pdf->Output();
24+
}
25+
26+
/**
27+
* http://localhost/mvc-phpv7/pdf/testViewPDF/<$name>/<$lastname>
28+
* Example:
29+
* http://localhost/mvc-phpv7/pdf/testViewPDF/Brayan/Esteves
30+
*/
31+
public function testViewPDF($name, $lastname) {
32+
require_once ROOT . 'public' . DS . 'files' . DS . 'pdf.phtml';
33+
}
34+
}
35+
?>

database/data/index.sql

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# <ACCIONES: INSERTAR DATOS>
2+
# <00000 - MÓDULO: USUARIOS (USRS)[CRUD]>
3+
INSERT INTO `MIPSS_`.`0_TypsUsrs` (`Rfrnc`, `Nm`, `Dscrptn`, `Lvl`, `Cndtn`, `Rmvd`,`Lckd`, `DtAdmssn`, `ChckTm`) VALUES ('00000', 'Mngr', 'English: Manager / Spanish: Administrador', 0, 1, 0, 0, "0001-01-01", "00:00:00");
4+
# </ACCIONES: INSERTAR DATOS>
5+
6+
# <ACCIONES: INSERTAR DATOS>
7+
INSERT INTO `MIPSS_`.`0_OprtnUsrTypActns` (`Rfrnc`, `Rfrnc_TypUsr`, `Rfrnc_Actn`, `Cndtn`, `Rmvd`, `Lckd`, `DtAdmssn`, `ChckTm`) VALUES (NULL, 1, 1, 1, 0, 0, "0001-01-01", "00:00:00");
8+
INSERT INTO `MIPSS_`.`0_OprtnUsrTypActns` (`Rfrnc`, `Rfrnc_TypUsr`, `Rfrnc_Actn`, `Cndtn`, `Rmvd`, `Lckd`, `DtAdmssn`, `ChckTm`) VALUES (NULL, 1, 2, 1, 0, 0, "0001-01-01", "00:00:00");
9+
INSERT INTO `MIPSS_`.`0_OprtnUsrTypActns` (`Rfrnc`, `Rfrnc_TypUsr`, `Rfrnc_Actn`, `Cndtn`, `Rmvd`, `Lckd`, `DtAdmssn`, `ChckTm`) VALUES (NULL, 1, 3, 1, 0, 0, "0001-01-01", "00:00:00");
10+
INSERT INTO `MIPSS_`.`0_OprtnUsrTypActns` (`Rfrnc`, `Rfrnc_TypUsr`, `Rfrnc_Actn`, `Cndtn`, `Rmvd`, `Lckd`, `DtAdmssn`, `ChckTm`) VALUES (NULL, 1, 4, 1, 0, 0, "0001-01-01", "00:00:00");
11+
# </ACCIONES: INSERTAR DATOS>

database/tables/index.sql

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# <ENGLISH: USERS / SPANISH: USUARIOS>
2+
CREATE TABLE IF NOT EXISTS `MIPSS_`.`0_Usrs` (
3+
`Rfrnc` INT(255) NOT NULL AUTO_INCREMENT COMMENT 'Rfrnc (English: Reference / Spanish: Referencia)',
4+
`Usrnm` VARCHAR(20) NOT NULL COMMENT 'Usrnm (English: Username / Spanish: Nombre de Usuario)',
5+
`Psswrd` VARCHAR(255) NOT NULL COMMENT 'Psswrd (English: Password / Spanish: Contraseña)',
6+
`Rfrnc_Prsn` INT (255) NOT NULL COMMENT 'Rfrnc_Prsn (English: Reference. Person / Spanish: Referencia. Persona)',
7+
`UsrTyp_Rfrnc` INT (255) NOT NULL COMMENT 'UsrTyp_Rfrnc (English: User Type. Reference / Spanish: Referencia. Tipo de Usuario)',
8+
`Cndtn` INT (2) NOT NULL COMMENT 'Cndtn (English: Condition [0: Inactive, 1: Active] / Spanish: Estado [0: Inactivo, 1: Activo])',
9+
`Rmvd` INT (2) NOT NULL COMMENT 'Rmvd (English: Removed [0: Inactive, 1: Active] / Spanish: Eliminado [0: Inactivo, 1: Activo])',
10+
`Lckd` INT (2) NOT NULL COMMENT 'Lckd (English: Locked [0: Inactive, 1: Active] / Spanish: Bloqueado [0: Inactivo, 1: Activo])',
11+
`DtAdmssn` DATE NULL COMMENT 'DtAdmssn (English: Date of Admission / Spanish: Fecha de Ingreso)',
12+
`ChckTm` TIME NULL COMMENT 'ChckTm (English: Check In Time / Spanish: Hora de Ingreso)',
13+
PRIMARY KEY (`Rfrnc`),
14+
CONSTRAINT `FrgnKy_Prsn` FOREIGN KEY(`Rfrnc_Prsn`) REFERENCES `MIPSS_`.`0_Prsn`(`Rfrnc`)
15+
) ENGINE='MyISAM' DEFAULT CHARSET='utf8' COLLATE='utf8_bin' COMMENT='0_Usrs (English: 0 - Users / Spanish: 0 - Usuarios)';
16+
# <0 - USUARIOS: INSERTAR DATOS>
17+
18+
# <.ENGLISH: USERS / SPANISH: USUARIOS>
19+
20+
# <ENGLISH: TYPES OF USERS / SPANISH: TIPOS DE USUARIOS>
21+
CREATE TABLE IF NOT EXISTS `MIPSS_`.`0_TypsUsrs` (
22+
`Rfrnc` INT (255) NOT NULL AUTO_INCREMENT COMMENT 'Rfrnc (English: Reference / Spanish: Referencia)',
23+
`Nm` VARCHAR(20) NOT NULL COMMENT 'Nm (English: Name / Spanish: Nombre)',
24+
`Dscrptn` TEXT NOT NULL COMMENT 'Dscrptn (English: Description / Spanish: Descripción)',
25+
`Lvl` INT (20) NOT NULL COMMENT 'Lvl (English: Level / Spanish: Nivel)',
26+
`Cndtn` INT (2) NOT NULL COMMENT 'Cndtn (English: Condition [0: Inactive, 1: Active] / Spanish: Estado [0: Inactivo, 1: Activo])',
27+
`Rmvd` INT (2) NOT NULL COMMENT 'Rmvd (English: Removed [0: Inactive, 1: Active] / Spanish: Eliminado [0: Inactivo, 1: Activo])',
28+
`Lckd` INT (2) NOT NULL COMMENT 'Lckd (English: Locked [0: Inactive, 1: Active] / Spanish: Bloqueado [0: Inactivo, 1: Activo])',
29+
`DtAdmssn` DATE NULL COMMENT 'DtAdmssn (English: Date of Admission / Spanish: Fecha de Ingreso)',
30+
`ChckTm` TIME NULL COMMENT 'ChckTm (English: Check In Time / Spanish: Hora de Ingreso)',
31+
PRIMARY KEY (`Rfrnc`)
32+
) ENGINE='MyISAM' DEFAULT CHARSET='utf8' COLLATE='utf8_bin' COMMENT='0_TpsUsrs (English: 0 - Types of Users / Spanish: 0 - Tipos de Usuarios)';
33+
34+
# <.ENGLISH: TYPES OF USERS / SPANISH: TIPOS DE USUARIOS>
35+
36+
# <ENGLISH: OPERATION. USER TYPE ACTIONS / SPANISH: OPERACIÓN. ACCIONES DE TIPOS DE USUARIOS>
37+
CREATE TABLE IF NOT EXISTS `MIPSS_`.`0_OprtnUsrTypActns` (
38+
`Rfrnc` INT (255) NOT NULL AUTO_INCREMENT COMMENT 'Rfrnc (English: Reference / Spanish: Referencia)',
39+
`Rfrnc_TypUsr` INT (255) NOT NULL COMMENT 'Rfrnc_TypUsr (English: Reference. Type of User / Spanish: Referencia. Tipo de Usuario)',
40+
`Rfrnc_Actn` INT (255) NOT NULL COMMENT 'Rfrnc_Atcn (English: Reference. Action / Spanish: Referencia. Acción)',
41+
`Cndtn` INT (2) NOT NULL COMMENT 'Cndtn (English: Condition [0: Inactive, 1: Active] / Spanish: Estado [0: Inactivo, 1: Activo])',
42+
`Rmvd` INT (2) NOT NULL COMMENT 'Rmvd (English: Removed [0: Inactive, 1: Active] / Spanish: Eliminado [0: Inactivo, 1: Activo])',
43+
`Lckd` INT (2) NOT NULL COMMENT 'Lckd (English: Locked [0: Inactive, 1: Active] / Spanish: Bloqueado [0: Inactivo, 1: Activo])',
44+
`DtAdmssn` DATE NULL COMMENT 'DtAdmssn (English: Date of Admission / Spanish: Fecha de Ingreso)',
45+
`ChckTm` TIME NULL COMMENT 'ChckTm (English: Check In Time / Spanish: Hora de Ingreso)',
46+
PRIMARY KEY (`Rfrnc`)
47+
) ENGINE='MyISAM' DEFAULT CHARSET='utf8' COLLATE='utf8_bin' COMMENT='0_OprtnUsrTypActns (English: Operation. User Type Actions / Spanish: 0 - Operación. Acciones: Tipos de Usuarios)';
48+
49+
# <.ENGLISH: OPERATION. USER TYPE ACTIONS / SPANISH: OPERACIÓN. ACCIONES DE TIPOS DE USUARIOS>
50+
51+
# <ENGLISH: ACTIONS / SPANISH: ACCIONES>
52+
CREATE TABLE IF NOT EXISTS `MIPSS_`.`0_Actns` (
53+
`Rfrnc` INT (255) NOT NULL AUTO_INCREMENT COMMENT 'Rfrnc (English: Reference / Spanish: Referencia)',
54+
`Rfrnc_Lnk` INT (255) NULL COMMENT 'Rfrnc_Lnk (English: Reference Link / Spanish: Referencia. Enlace)',
55+
`Nm` VARCHAR(20) NOT NULL COMMENT 'Nm (English: Name / Spanish: Nombre)',
56+
`Dscrptn` TEXT NOT NULL COMMENT 'Dscrptn (English: Description / Spanish: Descripción)',
57+
`Rfrnc_Actn` INT (255) NULL COMMENT 'Rfrnc_Actn (English: Reference. Action / Spanish: Referencia. Acción)',
58+
`Mdl_Rfrnc` INT (255) NOT NULL COMMENT 'Mdl_Rfrnc (English: Module. Reference / English: Referencia. Módulo)',
59+
`Cndtn` INT (2) NOT NULL COMMENT 'Cndtn (English: Condition [0: Inactive, 1: Active] / Spanish: Estado [0: Inactivo, 1: Activo])',
60+
`Rmvd` INT (2) NOT NULL COMMENT 'Rmvd (English: Removed [0: Inactive, 1: Active] / Spanish: Eliminado [0: Inactivo, 1: Activo])',
61+
`Lckd` INT (2) NOT NULL COMMENT 'Lckd (English: Locked [0: Inactive, 1: Active] / Spanish: Bloqueado [0: Inactivo, 1: Activo])',
62+
`DtAdmssn` DATE NULL COMMENT 'DtAdmssn (English: Date of Admission / Spanish: Fecha de Ingreso)',
63+
`ChckTm` TIME NULL COMMENT 'ChckTm (English: Check In Time / Spanish: Hora de Ingreso)',
64+
PRIMARY KEY (`Rfrnc`)
65+
) ENGINE='MyISAM' DEFAULT CHARSET='utf8' COLLATE='utf8_bin' COMMENT='0_Actns (English: 0 - Actions / Spanish: 0 - Acciones)';
66+
67+
# <ENGLISH: POSTS / SPANISH: PUBLICACIONES>
68+
CREATE TABLE IF NOT EXISTS `MIPSS_`.`0_Psts` (
69+
`Rfrnc` INT (255) NOT NULL AUTO_INCREMENT COMMENT 'Rfrnc (English: Reference / Spanish: Referencia)',
70+
`Rfrnc_Usr` INT (255) NOT NULL COMMENT 'Rfrnc_Prsn (English: Reference. User / Spanish: Referencia. Usuario)',
71+
`Ttl` VARCHAR(20) NOT NULL COMMENT 'Ttl (English: Title / Spanish: Título)',
72+
`Bdy` TEXT NOT NULL COMMENT 'Bdy (English: Body / Spanish: Cuerpo)',
73+
`Cndtn` INT (2) NOT NULL COMMENT 'Cndtn (English: Condition [0: Inactive, 1: Active] / Spanish: Estado [0: Inactivo, 1: Activo])',
74+
`Rmvd` INT (2) NOT NULL COMMENT 'Rmvd (English: Removed [0: Inactive, 1: Active] / Spanish: Eliminado [0: Inactivo, 1: Activo])',
75+
`Lckd` INT (2) NOT NULL COMMENT 'Lckd (English: Locked [0: Inactive, 1: Active] / Spanish: Bloqueado [0: Inactivo, 1: Activo])',
76+
`DtAdmssn` DATE NULL COMMENT 'DtAdmssn (English: Date of Admission / Spanish: Fecha de Ingreso)',
77+
`ChckTm` TIME NULL COMMENT 'ChckTm (English: Check In Time / Spanish: Hora de Ingreso)',
78+
PRIMARY KEY (`Rfrnc`)
79+
) ENGINE='MyISAM' DEFAULT CHARSET='utf8' COLLATE='utf8_bin' COMMENT='0_Psts (English: 0 - Posts / Spanish: 0 - Publicaciones)';
80+
# <.ENGLISH: POSTS / SPANISH: PUBLICACIONES>

index.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
require_once APP_PATH . 'Model.php';
2020
require_once APP_PATH . 'View.php';
2121
require_once APP_PATH . 'Record.php';
22+
require_once APP_PATH . 'Database.php';
2223

2324
// =============================== //
2425
// Test 'Files' //

0 commit comments

Comments
 (0)