Skip to content

Commit a9e35d8

Browse files
authored
Merge pull request #34 from xhuberty/5.2
Fix SQLParser namespace change and php-cs-fixer
2 parents 8490e23 + 00eba66 commit a9e35d8

14 files changed

+1337
-1246
lines changed

src/EvolugridAdmin.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
<?php
2+
23
use Mouf\MoufManager;
34
use Mouf\MoufUtils;
45

5-
66
MoufUtils::registerMainMenu('htmlMainMenu', 'HTML', null, 'mainMenu', 40);
77
MoufUtils::registerMenuItem('htmlEvolugridMainMenu', 'Evolugrid', null, 'htmlMainMenu', 20);
88
MoufUtils::registerMenuItem('htmlEvolugridCreateInstance', 'Create a new Evolugrid', 'evolugrid/newEvolugrid', 'htmlEvolugridMainMenu', 10);
99

10-
1110
// Controller declaration
1211
$moufManager = MoufManager::getMoufManager();
1312
$moufManager->declareComponent('evolugrid', 'Mouf\\Html\\Widgets\\EvoluGrid\\Controllers\\EvolugridAdminController', true);
1413
$moufManager->bindComponents('evolugrid', 'template', 'moufTemplate');
1514
$moufManager->bindComponents('evolugrid', 'content', 'block.content');
16-
17-
?>
Lines changed: 122 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
<?php
2+
23
namespace Mouf\Html\Widgets\EvoluGrid\Controllers;
34

45
use Mouf\Html\Template\TemplateInterface;
5-
66
use SQLParser\Query\StatementFactory;
7-
8-
use SQLParser\SQLParser;
9-
7+
use PHPSQLParser\PHPSQLParser;
108
use Mouf\MoufManager;
11-
129
use Mouf\Mvc\Splash\Controllers\Controller;
13-
1410
use Mouf\Html\HtmlElement\HtmlBlock;
1511
use Mouf\Database\QueryWriter\Utils\FindParametersService;
1612

@@ -21,122 +17,126 @@
2117
* @author David Négrier <d.negrier@thecodingmachine.com>
2218
* @Logged
2319
*/
24-
class EvolugridAdminController extends Controller {
25-
26-
/**
27-
* @var TemplateInterface
28-
*/
29-
public $template;
30-
31-
/**
32-
* @var HtmlBlock
33-
*/
34-
public $content;
35-
36-
protected $instanceName;
37-
protected $sql;
38-
protected $url;
39-
protected $editMode = false;
40-
protected $errorMessage;
41-
42-
/**
43-
* Admin page used to display the DAO generation form.
44-
*
45-
* @Action
46-
*/
47-
public function newEvolugrid($selfedit="false") {
48-
$this->content->addFile(dirname(__FILE__)."/../../../../../views/createEvolugrid.php", $this);
49-
$this->template->toHtml();
50-
}
51-
52-
/**
53-
* This action generates the objects from the SQL query and creates a new SELECT instance.
54-
*
55-
* @Action
56-
* @param string $name
57-
* @param string $sql
58-
* @param string $selfedit
59-
*/
60-
public function doCreateEvolugrid($name, $sql, $url, $buildSearchForm = 0, $selfedit="false") {
61-
if (empty($url)) {
62-
$url = "evolugrid/".urlencode($name);
63-
}
64-
65-
$parser = new SQLParser();
66-
$parsed = $parser->parse($sql);
67-
$select = StatementFactory::toObject($parsed);
68-
69-
$moufManager = MoufManager::getMoufManagerHiddenInstance();
70-
$dbConnectionInstanceDescriptor = $moufManager->getInstanceDescriptor("dbalConnection");
71-
72-
$selectInstanceDescriptor = $select->toInstanceDescriptor($moufManager);
73-
$parameters = FindParametersService::findParameters($selectInstanceDescriptor);
74-
75-
$queryResultInstanceDescriptor = $moufManager->createInstance("Mouf\\Database\\QueryWriter\\QueryResult");
76-
$queryResultInstanceDescriptor->getProperty("select")->setValue($selectInstanceDescriptor);
77-
$queryResultInstanceDescriptor->getProperty("connection")->setValue($dbConnectionInstanceDescriptor);
78-
79-
$countNbResultsInstanceDescriptor = $moufManager->createInstance("Mouf\\Database\\QueryWriter\\CountNbResult");
80-
$countNbResultsInstanceDescriptor->getProperty("queryResult")->setValue($queryResultInstanceDescriptor);
81-
$countNbResultsInstanceDescriptor->getProperty("connection")->setValue($dbConnectionInstanceDescriptor);
82-
83-
$evolugridResultSetInstanceDescriptor = $moufManager->createInstance("Mouf\\Html\\Widgets\\EvoluGrid\\EvoluGridResultSet");
84-
$evolugridResultSetInstanceDescriptor->getProperty("results")->setValue($queryResultInstanceDescriptor);
85-
$evolugridResultSetInstanceDescriptor->getProperty("totalRowsCount")->setValue($countNbResultsInstanceDescriptor);
86-
$evolugridResultSetInstanceDescriptor->getProperty("url")->setValue($url);
87-
88-
if ($moufManager->instanceExists($name)) {
89-
$evolugridInstanceDescriptor = $moufManager->getInstanceDescriptor($name);
90-
} else {
91-
$evolugridInstanceDescriptor = $moufManager->createInstance("Mouf\\Html\\Widgets\\EvoluGrid\\EvoluGrid");
92-
$evolugridInstanceDescriptor->setName($name);
93-
$evolugridInstanceDescriptor->getProperty("class")->setValue("table table-striped table-hover");
94-
}
95-
$evolugridInstanceDescriptor->getProperty("url")->setValue($evolugridResultSetInstanceDescriptor);
96-
97-
if ($buildSearchForm && $evolugridInstanceDescriptor->getProperty('searchForm')->getValue() == null) {
98-
$searchFormInstanceDescriptor = $moufManager->createInstance("Mouf\\Html\\HtmlElement\\HtmlFromFile");
99-
$searchFormInstanceDescriptor->getProperty('fileName')->setValue('vendor/mouf/html.widgets.evolugrid/src/views/searchForm.php');
100-
$searchFormInstanceDescriptor->getProperty('relativeToRootPath')->setValue(true);
101-
$evolugridInstanceDescriptor->getProperty('searchForm')->setValue($searchFormInstanceDescriptor);
102-
}
103-
104-
$parameterInstanceDescriptors = array();
105-
foreach ($parameters as $parameter) {
106-
$parameterInstanceDescriptor = $moufManager->createInstance("Mouf\\Utils\\Value\\RequestParam");
107-
$parameterInstanceDescriptor->getProperty("paramName")->setValue($parameter);
108-
$parameterInstanceDescriptors[$parameter] = $parameterInstanceDescriptor;
109-
}
110-
$queryResultInstanceDescriptor->getProperty("parameters")->setValue($parameterInstanceDescriptors);
111-
112-
$moufManager->rewriteMouf();
113-
114-
header("Location: ".ROOT_URL."ajaxinstance/?name=".urlencode($name)."&selfedit=".$selfedit);
115-
}
116-
117-
/**
118-
* Admin page used to display the edit form for the Evolugrid.
119-
*
120-
* @Action
121-
*/
122-
public function updateFromSql($name, $selfedit="false") {
123-
$moufManager = MoufManager::getMoufManagerHiddenInstance();
124-
$evolugridInstanceDescriptor = $moufManager->getInstanceDescriptor($name);
125-
$this->instanceName = $name;
126-
$this->editMode = true;
127-
128-
$evolugridResultSetInstanceDescriptor = $evolugridInstanceDescriptor->getProperty("url")->getValue();
129-
if ($evolugridResultSetInstanceDescriptor == null) {
130-
$this->newEvolugrid($selfedit);
131-
return;
132-
}
133-
134-
$this->errorMessage = "Sorry, Evolugrid does not support initializing from SQL query if the 'url' parameter
20+
class EvolugridAdminController extends Controller
21+
{
22+
/**
23+
* @var TemplateInterface
24+
*/
25+
public $template;
26+
27+
/**
28+
* @var HtmlBlock
29+
*/
30+
public $content;
31+
32+
protected $instanceName;
33+
protected $sql;
34+
protected $url;
35+
protected $editMode = false;
36+
protected $errorMessage;
37+
38+
/**
39+
* Admin page used to display the DAO generation form.
40+
*
41+
* @Action
42+
*/
43+
public function newEvolugrid($selfedit = 'false')
44+
{
45+
$this->content->addFile(dirname(__FILE__).'/../../../../../views/createEvolugrid.php', $this);
46+
$this->template->toHtml();
47+
}
48+
49+
/**
50+
* This action generates the objects from the SQL query and creates a new SELECT instance.
51+
*
52+
* @Action
53+
*
54+
* @param string $name
55+
* @param string $sql
56+
* @param string $selfedit
57+
*/
58+
public function doCreateEvolugrid($name, $sql, $url, $buildSearchForm = 0, $selfedit = 'false')
59+
{
60+
if (empty($url)) {
61+
$url = 'evolugrid/'.urlencode($name);
62+
}
63+
64+
$parser = new PHPSQLParser();
65+
$parsed = $parser->parse($sql);
66+
$select = StatementFactory::toObject($parsed);
67+
68+
$moufManager = MoufManager::getMoufManagerHiddenInstance();
69+
$dbConnectionInstanceDescriptor = $moufManager->getInstanceDescriptor('dbalConnection');
70+
71+
$selectInstanceDescriptor = $select->toInstanceDescriptor($moufManager);
72+
$parameters = FindParametersService::findParameters($selectInstanceDescriptor);
73+
74+
$queryResultInstanceDescriptor = $moufManager->createInstance('Mouf\\Database\\QueryWriter\\QueryResult');
75+
$queryResultInstanceDescriptor->getProperty('select')->setValue($selectInstanceDescriptor);
76+
$queryResultInstanceDescriptor->getProperty('connection')->setValue($dbConnectionInstanceDescriptor);
77+
78+
$countNbResultsInstanceDescriptor = $moufManager->createInstance('Mouf\\Database\\QueryWriter\\CountNbResult');
79+
$countNbResultsInstanceDescriptor->getProperty('queryResult')->setValue($queryResultInstanceDescriptor);
80+
$countNbResultsInstanceDescriptor->getProperty('connection')->setValue($dbConnectionInstanceDescriptor);
81+
82+
$evolugridResultSetInstanceDescriptor = $moufManager->createInstance('Mouf\\Html\\Widgets\\EvoluGrid\\EvoluGridResultSet');
83+
$evolugridResultSetInstanceDescriptor->getProperty('results')->setValue($queryResultInstanceDescriptor);
84+
$evolugridResultSetInstanceDescriptor->getProperty('totalRowsCount')->setValue($countNbResultsInstanceDescriptor);
85+
$evolugridResultSetInstanceDescriptor->getProperty('url')->setValue($url);
86+
87+
if ($moufManager->instanceExists($name)) {
88+
$evolugridInstanceDescriptor = $moufManager->getInstanceDescriptor($name);
89+
} else {
90+
$evolugridInstanceDescriptor = $moufManager->createInstance('Mouf\\Html\\Widgets\\EvoluGrid\\EvoluGrid');
91+
$evolugridInstanceDescriptor->setName($name);
92+
$evolugridInstanceDescriptor->getProperty('class')->setValue('table table-striped table-hover');
93+
}
94+
$evolugridInstanceDescriptor->getProperty('url')->setValue($evolugridResultSetInstanceDescriptor);
95+
96+
if ($buildSearchForm && $evolugridInstanceDescriptor->getProperty('searchForm')->getValue() == null) {
97+
$searchFormInstanceDescriptor = $moufManager->createInstance('Mouf\\Html\\HtmlElement\\HtmlFromFile');
98+
$searchFormInstanceDescriptor->getProperty('fileName')->setValue('vendor/mouf/html.widgets.evolugrid/src/views/searchForm.php');
99+
$searchFormInstanceDescriptor->getProperty('relativeToRootPath')->setValue(true);
100+
$evolugridInstanceDescriptor->getProperty('searchForm')->setValue($searchFormInstanceDescriptor);
101+
}
102+
103+
$parameterInstanceDescriptors = array();
104+
foreach ($parameters as $parameter) {
105+
$parameterInstanceDescriptor = $moufManager->createInstance('Mouf\\Utils\\Value\\RequestParam');
106+
$parameterInstanceDescriptor->getProperty('paramName')->setValue($parameter);
107+
$parameterInstanceDescriptors[$parameter] = $parameterInstanceDescriptor;
108+
}
109+
$queryResultInstanceDescriptor->getProperty('parameters')->setValue($parameterInstanceDescriptors);
110+
111+
$moufManager->rewriteMouf();
112+
113+
header('Location: '.ROOT_URL.'ajaxinstance/?name='.urlencode($name).'&selfedit='.$selfedit);
114+
}
115+
116+
/**
117+
* Admin page used to display the edit form for the Evolugrid.
118+
*
119+
* @Action
120+
*/
121+
public function updateFromSql($name, $selfedit = 'false')
122+
{
123+
$moufManager = MoufManager::getMoufManagerHiddenInstance();
124+
$evolugridInstanceDescriptor = $moufManager->getInstanceDescriptor($name);
125+
$this->instanceName = $name;
126+
$this->editMode = true;
127+
128+
$evolugridResultSetInstanceDescriptor = $evolugridInstanceDescriptor->getProperty('url')->getValue();
129+
if ($evolugridResultSetInstanceDescriptor == null) {
130+
$this->newEvolugrid($selfedit);
131+
132+
return;
133+
}
134+
135+
$this->errorMessage = "Sorry, Evolugrid does not support initializing from SQL query if the 'url' parameter
135136
is not first set to <em>null</em>. This is to avoid you loosing important configuration settings
136137
by using the wizard. If you are sure you want to use this SQL query wizard, you can set the 'url'
137138
parameter to <em>null</em> and click again the 'Generate from SQL' button.";
138-
$this->content->addFile(dirname(__FILE__)."/../../../../../views/unableEvolugrid.php", $this);
139-
$this->template->toHtml();
140-
}
141-
142-
}
139+
$this->content->addFile(dirname(__FILE__).'/../../../../../views/unableEvolugrid.php', $this);
140+
$this->template->toHtml();
141+
}
142+
}
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
<?php
2-
namespace Mouf\Html\Widgets\EvoluGrid;
32

4-
trait CssClassTrait {
3+
namespace Mouf\Html\Widgets\EvoluGrid;
54

5+
trait CssClassTrait
6+
{
67
private $cssClass;
78

8-
/**
9-
* @return string the CSS Class for all cells of the column
10-
*/
11-
public function getClass(){
9+
/**
10+
* @return string the CSS Class for all cells of the column
11+
*/
12+
public function getClass()
13+
{
1214
return $this->cssClass;
1315
}
1416

1517
/**
16-
* Sets the CSS class for all cells in the column
18+
* Sets the CSS class for all cells in the column.
19+
*
1720
* @param string $class
1821
*/
19-
public function setClass($class){
22+
public function setClass($class)
23+
{
2024
$this->cssClass = $class;
2125
}
22-
23-
}
26+
}

0 commit comments

Comments
 (0)