started saimod_project, moved most parts (sql) from default_page to saimod_project, unified all badges into one badges table
This commit is contained in:
parent
f64f773a8e
commit
7e4c4b45db
@ -17,10 +17,6 @@ class default_page implements \SYSTEM\PAGE\DefaultPage {
|
||||
)));
|
||||
}
|
||||
|
||||
const BADGE_TYPE_PERSON_ABILITIES = 1;
|
||||
const BADGE_TYPE_PROJECT_FOCUS = 10;
|
||||
const BADGE_TYPE_PROJECT_TYPE = 11;
|
||||
|
||||
private static function getPersons(){
|
||||
$result = '';
|
||||
|
||||
@ -29,14 +25,14 @@ class default_page implements \SYSTEM\PAGE\DefaultPage {
|
||||
$_content_details = '';
|
||||
|
||||
$persons = \SQL\SELECT_PERSONS::QQ();
|
||||
$person_badges = \SQL\SELECT_BADGES::QA(array(self::BADGE_TYPE_PERSON_ABILITIES)); // This part we filter phpside due to performance.
|
||||
$person_badges = \SQL\SELECT_BADGES_VISIBLE::QA(array(\SAI\saimod_project::BADGE_TYPE_PERSON_ABILITIES)); // This part we filter phpside due to performance.
|
||||
$person_projects= \SQL\SELECT_PERSON_PROJECTS::QA(); // This part we filter phpside due to performance.
|
||||
while($row = $persons->next()){
|
||||
|
||||
$badges = array_filter($person_badges, function($v)use($row){return $v['ref_id'] == $row['id'];});
|
||||
$row['badges'] = '';
|
||||
foreach($badges as $badge){
|
||||
$row['badges'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_badge.tpl'))->SERVERPATH(),$badge);
|
||||
$row['badges'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/content_badge.tpl'))->SERVERPATH(),$badge);
|
||||
}
|
||||
|
||||
$projects = array_filter($person_projects, function($v)use($row){return $v['person'] == $row['id'];});
|
||||
@ -79,22 +75,22 @@ class default_page implements \SYSTEM\PAGE\DefaultPage {
|
||||
$_content_imgs = '';
|
||||
$_content_details = '';
|
||||
|
||||
$projects = \SQL\SELECT_PROJECTS::QQ();
|
||||
$project_focus = \SQL\SELECT_BADGES::QA(array(self::BADGE_TYPE_PROJECT_FOCUS)); // This part we filter phpside due to performance.
|
||||
$project_type = \SQL\SELECT_BADGES::QA(array(self::BADGE_TYPE_PROJECT_TYPE)); // This part we filter phpside due to performance.
|
||||
$project_persons= \SQL\SELECT_PROJECT_PERSONS::QA(); // This part we filter phpside due to performance.
|
||||
$projects = \SQL\SELECT_PROJECTS_VISIBLE::QQ();
|
||||
$project_focus = \SQL\SELECT_BADGES_VISIBLE::QA(array(\SAI\saimod_project::BADGE_TYPE_PROJECT_FOCUS)); // This part we filter phpside due to performance.
|
||||
$project_type = \SQL\SELECT_BADGES_VISIBLE::QA(array(\SAI\saimod_project::BADGE_TYPE_PROJECT_TYPE)); // This part we filter phpside due to performance.
|
||||
$project_persons= \SQL\SELECT_PROJECT_PERSONS::QA(); // This part we filter phpside due to performance.
|
||||
while($row = $projects->next()){
|
||||
|
||||
$focus = array_filter($project_focus, function($v)use($row){return $v['ref_id'] == $row['id'];});
|
||||
$row['focus'] = '';
|
||||
foreach($focus as $f){
|
||||
$row['focus'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_badge.tpl'))->SERVERPATH(),$f);
|
||||
$row['focus'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/content_badge.tpl'))->SERVERPATH(),$f);
|
||||
}
|
||||
|
||||
$type = array_filter($project_type, function($v)use($row){return $v['ref_id'] == $row['id'];});
|
||||
$row['type'] = '';
|
||||
foreach($type as $t){
|
||||
$row['type'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_badge.tpl'))->SERVERPATH(),$t);
|
||||
$row['type'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/content_badge.tpl'))->SERVERPATH(),$t);
|
||||
}
|
||||
|
||||
$persons = array_filter($project_persons, function($v)use($row){return $v['project'] == $row['id'];});
|
||||
|
||||
@ -14,7 +14,7 @@ namespace SQL;
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class SELECT_BADGES extends \SYSTEM\DB\QP {
|
||||
class SELECT_BADGES_VISIBLE extends \SYSTEM\DB\QP {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
@ -14,7 +14,7 @@ namespace SQL;
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class SELECT_PROJECTS extends \SYSTEM\DB\QQ {
|
||||
class SELECT_PROJECTS_VISIBLE extends \SYSTEM\DB\QQ {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
@ -1,2 +1,2 @@
|
||||
<?php
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__));
|
||||
@ -1,2 +1,2 @@
|
||||
<?php
|
||||
//require_once dirname(__FILE__).'/saimod_*/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_project/autoload.inc';
|
||||
5
wecker_manufaktur/sai/saimod_project/autoload.inc
Normal file
5
wecker_manufaktur/sai/saimod_project/autoload.inc
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__).'/sql/autoload.inc';
|
||||
require_once dirname(__FILE__).'/path/autoload.inc';
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
|
||||
\SYSTEM\SAI\sai::register('\SAI\saimod_project');
|
||||
127
wecker_manufaktur/sai/saimod_project/js/saimod_project.js
Normal file
127
wecker_manufaktur/sai/saimod_project/js/saimod_project.js
Normal file
@ -0,0 +1,127 @@
|
||||
function init_saimod_project() {
|
||||
$('#btn_search').click(function(){
|
||||
system.load($(this).attr('state')+$('#input_search').val(),true);
|
||||
});
|
||||
|
||||
$('#btn-project-del').click(function(){
|
||||
var projects = [];
|
||||
$('.project-check:checked').each(function() {
|
||||
projects.push($(this).attr('project'));
|
||||
});
|
||||
if (confirm('Are you sure you want to delete '+projects.length+' Projects PERMANENTLY?')) {
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_project',
|
||||
action: 'project_delete',
|
||||
data: projects
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('.project-order-up').click(function(e){
|
||||
e.preventDefault();
|
||||
project = $(this).attr('project');
|
||||
order = $(this).attr('order');
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_project',
|
||||
action: 'project_order',
|
||||
data: {
|
||||
action: 'up',
|
||||
project: project,
|
||||
order: order
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.project-order-down').click(function(e){
|
||||
e.preventDefault();
|
||||
project = $(this).attr('project');
|
||||
order = $(this).attr('order');
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_project',
|
||||
action: 'project_order',
|
||||
data: {
|
||||
action: 'down',
|
||||
project: project,
|
||||
order: order
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.project-visibility').click(function(){
|
||||
project = $(this).attr('project');
|
||||
visibility = $(this).val();
|
||||
$.ajax({
|
||||
async: true,
|
||||
url: this.endpoint,
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
data: {
|
||||
sai_mod: '.SAI.saimod_project',
|
||||
action: 'project_visibility',
|
||||
data: {
|
||||
project: project,
|
||||
visibility: visibility
|
||||
}
|
||||
},
|
||||
success: function(data){
|
||||
if(data.status){
|
||||
system.reload();
|
||||
} else {
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
},
|
||||
error: function(){
|
||||
alert('Something happend - try again!');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
6
wecker_manufaktur/sai/saimod_project/path/PPROJECT.php
Normal file
6
wecker_manufaktur/sai/saimod_project/path/PPROJECT.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
namespace SAI;
|
||||
class PPROJECT extends \SYSTEM\PATH {
|
||||
public function __construct($subpath = '') {
|
||||
parent::__construct(new \PSAI(), 'saimod_project/', $subpath);}
|
||||
}
|
||||
2
wecker_manufaktur/sai/saimod_project/path/autoload.inc
Normal file
2
wecker_manufaktur/sai/saimod_project/path/autoload.inc
Normal file
@ -0,0 +1,2 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SAI');
|
||||
95
wecker_manufaktur/sai/saimod_project/saimod_project.php
Normal file
95
wecker_manufaktur/sai/saimod_project/saimod_project.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
namespace SAI;
|
||||
class saimod_project extends \SYSTEM\SAI\sai_module{
|
||||
|
||||
const BADGE_TYPE_PERSON_ABILITIES = 1;
|
||||
const BADGE_TYPE_PROJECT_FOCUS = 10;
|
||||
const BADGE_TYPE_PROJECT_TYPE = 11;
|
||||
|
||||
public static function sai_mod__SAI_saimod_project($search='%',$page=0){
|
||||
$vars = array();
|
||||
$vars['search'] = $search;
|
||||
$vars['page'] = $page;
|
||||
$vars['data'] = '';
|
||||
|
||||
$count = \SQL\COUNT_PROJECTS::Q1(array($search,$search,$search))['count'];
|
||||
$focus = \SQL\SELECT_BADGES_VISIBLE::QA(array(self::BADGE_TYPE_PROJECT_FOCUS)); // This part we filter phpside due to performance.
|
||||
$type = \SQL\SELECT_BADGES_VISIBLE::QA(array(self::BADGE_TYPE_PROJECT_TYPE)); // This part we filter phpside due to performance.
|
||||
$res = \SQL\SELECT_PROJECTS::QQ(array($search,$search,$search));
|
||||
$res->seek(25*$page);
|
||||
|
||||
$count_filtered = 0;
|
||||
while(($row = $res->next()) && ($count_filtered < 25)){
|
||||
$ffocus = array_filter($focus, function($v)use($row){return $v['ref_id'] == $row['id'];});
|
||||
$row['focus'] = '';
|
||||
foreach($ffocus as $f){
|
||||
$row['focus'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/content_badge.tpl'))->SERVERPATH(),$f);
|
||||
}
|
||||
|
||||
$ftype = array_filter($type, function($v)use($row){return $v['ref_id'] == $row['id'];});
|
||||
$row['type'] = '';
|
||||
foreach($ftype as $t){
|
||||
$row['type'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/content_badge.tpl'))->SERVERPATH(),$t);
|
||||
}
|
||||
|
||||
$row['selected_invisible'] = $row['visible'] !== 1 ? 'selected' : '';
|
||||
$row['selected_visible'] = $row['visible'] == 1 ? 'selected' : '';
|
||||
|
||||
$vars['data'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_projects_tr.tpl'))->SERVERPATH(),$row);
|
||||
$count_filtered++;
|
||||
}
|
||||
// Pagintation
|
||||
$vars['pagination'] = '';
|
||||
$vars['page_last'] = floor($count/25);
|
||||
for($i=0;$i < ceil($count/25);$i++){
|
||||
$data = array('page' => $i,'search' => $search, 'active' => ($i == $page) ? 'active' : '');
|
||||
$vars['pagination'] .= \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project_pagination.tpl'))->SERVERPATH(), $data);
|
||||
}
|
||||
$vars['count'] = ($count_filtered+$page*25).'/'.$count;
|
||||
|
||||
return \SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/saimod_project.tpl'))->SERVERPATH(),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SAI_saimod_project_action_project_delete($data){
|
||||
foreach($data as $id){
|
||||
\SQL\DELETE_PROJECT::QI(array($id));
|
||||
\SQL\DELETE_BADGE::QI(array(self::BADGE_TYPE_PROJECT_FOCUS,$id));
|
||||
\SQL\DELETE_BADGE::QI(array(self::BADGE_TYPE_PROJECT_TYPE,$id));
|
||||
}
|
||||
return \JsonResult::ok();
|
||||
}
|
||||
public static function sai_mod__SAI_saimod_project_action_project_order($data){
|
||||
$project = $data['project'];
|
||||
switch($data['action']){
|
||||
case 'up':
|
||||
$new_order = $data['order'] -1;
|
||||
$new_order = $new_order > 0 ? $new_order : 1;
|
||||
\SQL\UPDATE_PROJECTS_ORDER_DOWN_ORDER::QI(array($new_order));
|
||||
\SQL\UPDATE_PROJECTS_ORDER_DOWN_ID::QI(array($project));
|
||||
break;
|
||||
case 'down':
|
||||
$new_order = $data['order'] +1;
|
||||
\SQL\UPDATE_PROJECTS_ORDER_UP_ORDER::QI(array($new_order));
|
||||
\SQL\UPDATE_PROJECTS_ORDER_UP_ID::QI(array($project));
|
||||
break;
|
||||
default:
|
||||
throw new \SYSTEM\LOG\ERROR('Operration not supported');
|
||||
}
|
||||
return \SYSTEM\LOG\JsonResult::ok();
|
||||
}
|
||||
public static function sai_mod__SAI_saimod_project_action_project_visibility($data){
|
||||
\SQL\UPDATE_PROJECTS_VISIBILITY::QI(array($data['visibility'],$data['project']));
|
||||
return \SYSTEM\LOG\JsonResult::ok();
|
||||
}
|
||||
|
||||
public static function menu(){
|
||||
return new \SYSTEM\SAI\sai_module_menu( 101,
|
||||
\SYSTEM\SAI\sai_module_menu::POISITION_LEFT,
|
||||
\SYSTEM\SAI\sai_module_menu::DIVIDER_LEFT,
|
||||
\SYSTEM\PAGE\replace::replaceFile((new \SAI\PPROJECT('tpl/menu.tpl'))->SERVERPATH()));}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function js(){
|
||||
return array(new \SAI\PPROJECT('js/saimod_project.js'));}
|
||||
}
|
||||
14
wecker_manufaktur/sai/saimod_project/sql/COUNT_PROJECTS.php
Normal file
14
wecker_manufaktur/sai/saimod_project/sql/COUNT_PROJECTS.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class COUNT_PROJECTS extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'SELECT COUNT(*) as `count`'.
|
||||
' FROM projects'.
|
||||
' WHERE ( projects.name LIKE ? OR
|
||||
projects.info LIKE ? OR
|
||||
projects.website LIKE ?
|
||||
);';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
class DATA_SAIMOD_PROJECT extends \SYSTEM\DB\QI {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function files_mysql(){
|
||||
return array( (new \SAI\PPROJECT('sql/mysql/system_page.sql'))->SERVERPATH(),
|
||||
(new \SAI\PPROJECT('sql/mysql/system_api.sql'))->SERVERPATH(),
|
||||
(new \SAI\PPROJECT('sql/mysql/persons.schema.sql'))->SERVERPATH(),
|
||||
(new \SAI\PPROJECT('sql/mysql/badges.schema.sql'))->SERVERPATH(),
|
||||
(new \SAI\PPROJECT('sql/mysql/projects.schema.sql'))->SERVERPATH(),
|
||||
(new \SAI\PPROJECT('sql/mysql/person_projects.schema.sql'))->SERVERPATH());
|
||||
}
|
||||
}
|
||||
33
wecker_manufaktur/sai/saimod_project/sql/DELETE_BADGE.php
Normal file
33
wecker_manufaktur/sai/saimod_project/sql/DELETE_BADGE.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SQL;
|
||||
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class DELETE_BADGE extends \SYSTEM\DB\QP {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
* @return string Returns classname
|
||||
*/
|
||||
public static function get_class(){return \get_class();}
|
||||
|
||||
/**
|
||||
* Get QQs MYSQL Query String
|
||||
*
|
||||
* @return string Returns MYSQL Query String
|
||||
*/
|
||||
public static function mysql(){return
|
||||
'DELETE FROM `badges` WHERE `type` = ? AND `ref_id` = ?;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SQL;
|
||||
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class DELETE_PERSON_PROJECTS_PROJECT extends \SYSTEM\DB\QP {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
* @return string Returns classname
|
||||
*/
|
||||
public static function get_class(){return \get_class();}
|
||||
|
||||
/**
|
||||
* Get QQs MYSQL Query String
|
||||
*
|
||||
* @return string Returns MYSQL Query String
|
||||
*/
|
||||
public static function mysql(){return
|
||||
'DELETE FROM `person_projects` WHERE `project` = ?;';
|
||||
}
|
||||
}
|
||||
33
wecker_manufaktur/sai/saimod_project/sql/DELETE_PROJECT.php
Normal file
33
wecker_manufaktur/sai/saimod_project/sql/DELETE_PROJECT.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SQL;
|
||||
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class DELETE_PROJECT extends \SYSTEM\DB\QP {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
* @return string Returns classname
|
||||
*/
|
||||
public static function get_class(){return \get_class();}
|
||||
|
||||
/**
|
||||
* Get QQs MYSQL Query String
|
||||
*
|
||||
* @return string Returns MYSQL Query String
|
||||
*/
|
||||
public static function mysql(){return
|
||||
'DELETE FROM `projects` WHERE `id` = ?;';
|
||||
}
|
||||
}
|
||||
39
wecker_manufaktur/sai/saimod_project/sql/SELECT_PROJECTS.php
Normal file
39
wecker_manufaktur/sai/saimod_project/sql/SELECT_PROJECTS.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SQL;
|
||||
|
||||
/**
|
||||
* QQ to get System Api Tree by group
|
||||
*/
|
||||
class SELECT_PROJECTS extends \SYSTEM\DB\QP {
|
||||
/**
|
||||
* Get Classname of the QQ
|
||||
*
|
||||
* @return string Returns classname
|
||||
*/
|
||||
public static function get_class(){return \get_class();}
|
||||
|
||||
/**
|
||||
* Get QQs MYSQL Query String
|
||||
*
|
||||
* @return string Returns MYSQL Query String
|
||||
*/
|
||||
public static function mysql(){return
|
||||
'SELECT *'.
|
||||
' FROM `projects`'.
|
||||
' WHERE ( projects.name LIKE ? OR
|
||||
projects.info LIKE ? OR
|
||||
projects.website LIKE ?
|
||||
)'.
|
||||
' ORDER BY `order`;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class UPDATE_PROJECTS_ORDER_DOWN_ID extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'UPDATE `projects` SET `order`=`order` - 1 WHERE `id` = ?;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class UPDATE_PROJECTS_ORDER_DOWN_ORDER extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'UPDATE `projects` SET `order`=`order` + 1 WHERE `order` = ?;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class UPDATE_PROJECTS_ORDER_UP_ID extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'UPDATE `projects` SET `order`=`order` + 1 WHERE `id` = ?;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class UPDATE_PROJECTS_ORDER_UP_ORDER extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'UPDATE `projects` SET `order`=`order` - 1 WHERE `order` = ?;';
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace SQL;
|
||||
|
||||
class UPDATE_PROJECTS_VISIBILITY extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function mysql(){return
|
||||
'UPDATE `projects` SET `visible` = ? WHERE `id` = ?;';
|
||||
}
|
||||
}
|
||||
4
wecker_manufaktur/sai/saimod_project/sql/autoload.inc
Normal file
4
wecker_manufaktur/sai/saimod_project/sql/autoload.inc
Normal file
@ -0,0 +1,4 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
|
||||
|
||||
\SYSTEM\SQL\setup::register(SQL\DATA_SAIMOD_PROJECT::class);
|
||||
@ -0,0 +1,32 @@
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9000, 42, 0, 0, '_SAI_saimod_project', 'action', NULL);
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9001, 42, 3, 0, '_SAI_saimod_project', 'search', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9002, 42, 3, 0, '_SAI_saimod_project', 'page', 'UINT0');
|
||||
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9010, 42, 2, 9000, 'project_delete', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9020, 42, 2, 9000, 'project_order', 'data', 'JSON');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9030, 42, 2, 9000, 'project_visibility', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9030, 42, 2, 9000, 'contact', 'email', 'STRING');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9035, 42, 2, 9000, 'update_contact', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9037, 42, 2, 9000, 'insert_contact', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9039, 42, 2, 9000, 'delete_contact', 'data', 'JSON');
|
||||
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9040, 42, 2, 9000, 'email', 'id', 'UINT0');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9043, 42, 2, 9000, 'send_email', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9045, 42, 2, 9000, 'update_email', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9047, 42, 2, 9000, 'insert_email', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9048, 42, 2, 9000, 'clone_email', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9049, 42, 2, 9000, 'delete_email', 'data', 'JSON');
|
||||
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9050, 42, 3, 9000, 'list', 'id', 'UINT0');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9055, 42, 2, 9000, 'update_list', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9057, 42, 2, 9000, 'insert_list', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9059, 42, 2, 9000, 'delete_list', 'data', 'JSON');
|
||||
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9060, 42, 3, 9000, 'templates', 'type', 'UINT0');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9062, 42, 2, 9000, 'template', 'id', 'UINT0');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9065, 42, 2, 9000, 'update_template', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9067, 42, 2, 9000, 'insert_template', 'data', 'JSON');
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9069, 42, 2, 9000, 'delete_template', 'data', 'JSON');
|
||||
|
||||
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (9070, 42, 2, 9000, 'csvimport', 'list', 'UINT0');
|
||||
@ -0,0 +1,18 @@
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (900, 42, 'project', 'project', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_project&search=${search}&page=${page}', 'init_saimod_project', '\\SAI\\saimod_project');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (901, 42, 'overview', 'mail', 900, 0, 0, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=overview', 'init_saimod_mail_overview', '\\SAI\\saimod_mail');
|
||||
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (910, 42, 'contacts', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contacts&search=${search}&page=${page}&list=${list}', 'init_saimod_mail_contacts', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (915, 42, 'contact', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contact&email=${email}', 'init_saimod_mail_contact', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (917, 42, 'contact_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=contact_new', 'init_saimod_mail_contact_new', '\\SAI\\saimod_mail');
|
||||
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (920, 42, 'lists', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=lists', 'init_saimod_mail_lists', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (925, 42, 'list', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=list&id=${id}', 'init_saimod_mail_list', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (927, 42, 'list_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=list_new', 'init_saimod_mail_list_new', '\\SAI\\saimod_mail');
|
||||
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (930, 42, 'emails', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=emails', 'init_saimod_mail_emails', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (935, 42, 'email', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=email&id=${id}', 'init_saimod_mail_email', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (937, 42, 'email_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=email_new', 'init_saimod_mail_email_new', '\\SAI\\saimod_mail');
|
||||
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (940, 42, 'templates', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=templates&type=${type}', 'init_saimod_mail_templates', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (945, 42, 'template', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=template&id=${id}', 'init_saimod_mail_template', '\\SAI\\saimod_mail');
|
||||
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (947, 42, 'template_new', 'mail', 900, 0, 1, '#content_mail', './sai.php?sai_mod=.SAI.saimod_mail&action=template_new', 'init_saimod_mail_template_new', '\\SAI\\saimod_mail');
|
||||
7
wecker_manufaktur/sai/saimod_project/tpl/menu.tpl
Normal file
7
wecker_manufaktur/sai/saimod_project/tpl/menu.tpl
Normal file
@ -0,0 +1,7 @@
|
||||
<li class="nav-item">
|
||||
<a id="menu_project" class="nav-link" data-toggle="tooltip" data-placement="bottom" title="Project" href="#!project">
|
||||
<span class="d-lg-none" style="padding-left: 15px;"></span>
|
||||
<i class="fa fa-cubes" aria-hidden="true"></i>
|
||||
<span class="d-lg-none"> Project</span>
|
||||
</a>
|
||||
</li>
|
||||
41
wecker_manufaktur/sai/saimod_project/tpl/saimod_project.tpl
Normal file
41
wecker_manufaktur/sai/saimod_project/tpl/saimod_project.tpl
Normal file
@ -0,0 +1,41 @@
|
||||
<div class="row">
|
||||
<div class="table-responsive sai_padding_off">
|
||||
<table class="table table-striped table-condensed tablesorter sai_margin_off" id="table_projects">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="9">
|
||||
Rows: ${count} Page: ${page}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="8">
|
||||
<input class="input-medium search-query action-control" id="input_search" type="text" placeholder="Search" size="40" style="width: 100%;" value="${search}"/>
|
||||
</th>
|
||||
<th>
|
||||
<button class="btn-sm btn btn-success" state="project;search." id="btn_search" type="submit" style="width: 100%;"><span class="glyphicon glyphicon-search" aria-hidden="true"></span>Search</button>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Image</th>
|
||||
<th>Name</th>
|
||||
<th>Info</th>
|
||||
<th>Focus</th>
|
||||
<th>Type</th>
|
||||
<th>Website</th>
|
||||
<th>Order</th>
|
||||
<th>Visible</th>
|
||||
<th>
|
||||
<button type="button" id="btn-project-del" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash"></i></button>
|
||||
<button type="button" id="btn-project-new" class="btn btn-sm btn-success pull-right" onclick="system.load('project(new)')" style="margin-right: 10px;"><i class="fa fa-plus"></i></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>${data}</tbody>
|
||||
</table>
|
||||
<ul class="pagination flex-wrap">
|
||||
<li class="page-item"><a class="page-link" href="#!project;search.${search};page.0">«</a></li>
|
||||
${pagination}
|
||||
<li class="page-item"><a class="page-link" href="#!project;search.${search};page.${page_last}">»</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1 @@
|
||||
<li class="page-item ${active}"><a class="page-link" href="#!project;search.${search};page.${page}">${page}</a></li>
|
||||
@ -0,0 +1,21 @@
|
||||
<tr>
|
||||
<td><a href="#!project(details);project.${id}"><img src="./files/projects/${img}" style="width: 50px; height: 50px;"/></a></td>
|
||||
<td><a href="#!project(details);project.${id}">${name}</a></td>
|
||||
<td>${info}</td>
|
||||
<td>${focus}</td>
|
||||
<td>${type}</td>
|
||||
<td><a href="${website}" target="_blank">${website}</a></td>
|
||||
<td style="font-size: 30px">
|
||||
<a href="#" class="project-order-up" project="${id}" order="${order}"><i class="fa fa-caret-up"></i></a>
|
||||
<a href="#" class="project-order-down" project="${id}" order="${order}"><i class="fa fa-caret-down"></i></a>
|
||||
</td>
|
||||
<td>
|
||||
<select class="project-visibility form-control" project="${id}">
|
||||
<option value="0" ${selected_invisible}>Invisible</option>
|
||||
<option value="1" ${selected_visible}>Visible</option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" class="pull-right project-check" project="${id}"/>
|
||||
</td>
|
||||
</tr>
|
||||
@ -4,10 +4,6 @@ class DATA_WECKER_MANUFAKTUR extends \SYSTEM\DB\QI {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function files_mysql(){
|
||||
return array( (new \PSQL('/mysql/system_page.sql'))->SERVERPATH(),
|
||||
(new \PSQL('/mysql/system_text.sql'))->SERVERPATH(),
|
||||
(new \PSQL('/mysql/persons.schema.sql'))->SERVERPATH(),
|
||||
(new \PSQL('/mysql/badges.schema.sql'))->SERVERPATH(),
|
||||
(new \PSQL('/mysql/projects.schema.sql'))->SERVERPATH(),
|
||||
(new \PSQL('/mysql/person_projects.schema.sql'))->SERVERPATH());
|
||||
(new \PSQL('/mysql/system_text.sql'))->SERVERPATH());
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user