update
This commit is contained in:
326
Admin/controller/CalcController.php
Normal file
326
Admin/controller/CalcController.php
Normal file
@@ -0,0 +1,326 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* $Id$
|
||||
* Słownki
|
||||
*
|
||||
*/
|
||||
class CalcController extends MainController implements ControllerInterface {
|
||||
|
||||
const CONTENT_PER_PAGE = 50;
|
||||
|
||||
/**
|
||||
* Domyślna metoda
|
||||
*
|
||||
*/
|
||||
public function IndexAction($param) {
|
||||
|
||||
|
||||
if (isset($param['type'])) {
|
||||
SessionProxy::SetValue('typeCalc', $param['type']);
|
||||
} else {
|
||||
$param['type'] = 1;
|
||||
}
|
||||
SessionProxy::SetValue('typeCalc', $param['type']);
|
||||
$dalData = MfParametersDAL::GetDalDataObj();
|
||||
$dalData->addCondition('type', $param['type']);
|
||||
$dalData->setSortBy('sort');
|
||||
|
||||
$arrayObjParameters = MfParametersDAL::GetResult($dalData);
|
||||
//Utils::ArrayDisplay($arrayObjParameters);
|
||||
//===grupowanie====
|
||||
$arrayParam = array();
|
||||
$arrayGroupParam = array();
|
||||
foreach ($arrayObjParameters as $objParam) {
|
||||
$idLink = $objParam->GetLinkId();
|
||||
$arrayGroupParam[$objParam->GetLinkId()][] = $objParam;
|
||||
}
|
||||
|
||||
$this->smarty->assign('arrayObj', $arrayObjParameters);
|
||||
$this->smarty->assign('arrayGroupParam', $arrayGroupParam);
|
||||
}
|
||||
|
||||
public function AddAction($param) {
|
||||
|
||||
$objParameters = new MfParameters();
|
||||
$objParameters->setType(SessionProxy::GetValue('typeCalc'));
|
||||
$this->smarty->assign('obj', $objParameters);
|
||||
|
||||
if (Request::GetPost('doCategoryEdit')) {
|
||||
Utils::ArrayDisplay(Request::GetAllPost());
|
||||
|
||||
$out = array();
|
||||
$validator = new Validator(Request::GetAllPost());
|
||||
$data = Request::GetAllPost();
|
||||
|
||||
$validator->IsEmpty('name', 'Pole nazwa musi zostać wypełnione.');
|
||||
|
||||
$out = $validator->GetErrorList();
|
||||
|
||||
$publication = Request::Get('publication');
|
||||
$publication ? $publication = 1 : $publication = '0';
|
||||
|
||||
$priceProgres = Request::Get('price_progres');
|
||||
$priceProgres ? $priceProgres = 1 : $priceProgres = '0';
|
||||
|
||||
$objParameters->setPublication($publication);
|
||||
$objParameters->setPrice($data['price']);
|
||||
$objParameters->setLinkId($data['link_id']);
|
||||
$objParameters->setName($data['name']);
|
||||
$objParameters->setOpis($data['opis']);
|
||||
$objParameters->setPriceProgres($priceProgres);
|
||||
$objParameters->setCountProgres($data['count_progres']);
|
||||
$objParameters->setUnit($data['unit']);
|
||||
|
||||
if (empty($out)) {
|
||||
|
||||
//Utils::ArrayDisplay($objParameters);
|
||||
$idParameters = MfParametersDAL::Save($objParameters);
|
||||
|
||||
$this->AddRedirectInfo('Zapisano', 'ok', Router::GenerateUrl('editConfig', array('Calc' => 'Index', 'type' => $objParameters->getType())));
|
||||
} else {
|
||||
|
||||
$this->smarty->assign('obj', $objParameters);
|
||||
|
||||
|
||||
$this->smarty->assign('info', 'Pola obowiązkowe muszą zostać wypełnione.');
|
||||
$this->smarty->assign('type', 'error');
|
||||
|
||||
foreach ($out as $item) {
|
||||
$error[$item['field']] = $item['msg'];
|
||||
}
|
||||
$this->smarty->assign('error', $error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function EditAction($param) {
|
||||
|
||||
$objParameters = MfParametersDAL::GetById($param['id']);
|
||||
$this->smarty->assign('obj', $objParameters);
|
||||
|
||||
if (Request::GetPost('doCategoryEdit')) {
|
||||
Utils::ArrayDisplay(Request::GetAllPost());
|
||||
|
||||
$out = array();
|
||||
$validator = new Validator(Request::GetAllPost());
|
||||
$data = Request::GetAllPost();
|
||||
|
||||
$validator->IsEmpty('name', 'Pole nazwa musi zostać wypełnione.');
|
||||
|
||||
$out = $validator->GetErrorList();
|
||||
|
||||
$publication = Request::Get('publication');
|
||||
$publication ? $publication = 1 : $publication = '0';
|
||||
|
||||
$priceProgres = Request::Get('price_progres');
|
||||
$priceProgres ? $priceProgres = 1 : $priceProgres = '0';
|
||||
|
||||
$objParameters->setPublication($publication);
|
||||
$objParameters->setPrice($data['price']);
|
||||
$objParameters->setLinkId($data['link_id']);
|
||||
$objParameters->setName($data['name']);
|
||||
$objParameters->setOpis($data['opis']);
|
||||
$objParameters->setCountProgres($data['count_progres']);
|
||||
$objParameters->setPriceProgres($priceProgres);
|
||||
$objParameters->setUnit($data['unit']);
|
||||
|
||||
if (empty($out)) {
|
||||
|
||||
//Utils::ArrayDisplay($objParameters);
|
||||
$idParameters = MfParametersDAL::Save($objParameters);
|
||||
|
||||
$this->AddRedirectInfo('Zapisano', 'ok', Router::GenerateUrl('editConfig', array('Calc' => 'Index', 'type' => $objParameters->getType())));
|
||||
} else {
|
||||
|
||||
$this->smarty->assign('obj', $objParameters);
|
||||
|
||||
|
||||
$this->smarty->assign('info', 'Pola obowiązkowe muszą zostać wypełnione.');
|
||||
$this->smarty->assign('type', 'error');
|
||||
|
||||
foreach ($out as $item) {
|
||||
$error[$item['field']] = $item['msg'];
|
||||
}
|
||||
$this->smarty->assign('error', $error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function DeleteAction($param) {
|
||||
|
||||
|
||||
$arrayObjDict = MfDictionaryDAL::GetResult(array('id_mf_dictionary' => $param['id']), array(), 1, 'mf_dictionary.keyword ASC');
|
||||
if (count($arrayObjDict) > 0) {
|
||||
MfDictionaryDAL::DeleteByKey($arrayObjDict[0]->GetKeyword());
|
||||
}
|
||||
|
||||
|
||||
|
||||
$this->AddRedirect(Router::GenerateUrl('DictLabel', array("Dictionary" => 'Index')), 0);
|
||||
}
|
||||
|
||||
public function GenerateModAction($param) {
|
||||
MFLog::Info(__FUNCTION__);
|
||||
//require_once('../core/lib/Smarty/Smarty.class.php');
|
||||
//$smarty = new Smarty();
|
||||
// $smarty->template_dir = Config::Get('PATH_SMARTY_TEMPLATE');
|
||||
// $smarty->compile_dir = Config::Get('PATH_SMARTY_COMPILE');
|
||||
|
||||
$db = Registry::Get('db');
|
||||
|
||||
$sql = " select table_name from information_schema.tables where table_schema <> 'information_schema' ";
|
||||
$stmt = $db->prepare($sql)
|
||||
->execute($sql);
|
||||
|
||||
$tables = $stmt->FetchAllRow();
|
||||
foreach ($tables as $table) {
|
||||
|
||||
$tableName = $table[0];
|
||||
$className = ucfirst(Utils::SQLName2PHPName($tableName));
|
||||
|
||||
$this->smarty->assign('tableName', $tableName);
|
||||
$this->smarty->assign('className', $className);
|
||||
|
||||
// zależne obiekty/tabele działa dopiero od mySQL 5.1.16
|
||||
// $sql = " select table_name from referential_constraints where constraint_schema <> 'information_schema' and referenced_table_name = '$tableName' ";
|
||||
// $stmt = $db->prepare($sql)
|
||||
// ->execute($sql);
|
||||
//
|
||||
// $refTableNames = array();
|
||||
//
|
||||
// $refTables = $stmt->FetchAllRow();
|
||||
// foreach ($refTables as $refTable) {
|
||||
// $tmp_name = Utils::SQLName2PHPName($refTable[0]);
|
||||
// $refTables[$refTable[0]] = $tmp_name;
|
||||
// }
|
||||
//
|
||||
// $smarty->assign('refTables', $refTables);
|
||||
// kolumny tabeli dla obiektu
|
||||
|
||||
$sql = " select column_name from information_schema.columns where table_name='$tableName'; ";
|
||||
$stmt = $db->prepare($sql)
|
||||
->execute($sql);
|
||||
|
||||
|
||||
$columnNames = array();
|
||||
|
||||
|
||||
$columns = $stmt->FetchAllRow();
|
||||
foreach ($columns as $column) {
|
||||
if ($column[0] === 'id_' . $tableName) {
|
||||
$tmp_name = 'id';
|
||||
} else {
|
||||
$tmp_name = Utils::SQLName2PHPName($column[0]);
|
||||
}
|
||||
$columnNames[$column[0]] = $tmp_name;
|
||||
}
|
||||
|
||||
|
||||
$this->smarty->assign('columnNames', $columnNames);
|
||||
|
||||
$output = '<?php' . $this->smarty->fetch('templateModel.tpl') . '?>';
|
||||
$file = fopen(PATH_MODEL_TMP . $className . '.class.php', "w");
|
||||
fwrite($file, $output);
|
||||
fclose($file);
|
||||
|
||||
$outputDAL = '<?php' . $this->smarty->fetch('templateModelDAL.tpl') . '?>';
|
||||
$file = fopen(PATH_MODEL_TMP . $className . 'DAL.class.php', "w");
|
||||
fwrite($file, $outputDAL);
|
||||
fclose($file);
|
||||
}
|
||||
}
|
||||
|
||||
public function GenOneModelAction($param) {
|
||||
// kolumny tabeli dla obiektu
|
||||
|
||||
$tableName = 'fk_maps';
|
||||
|
||||
$db = Registry::Get('db');
|
||||
$sql = " select column_name from information_schema.columns where table_name='$tableName'; ";
|
||||
$stmt = $db->prepare($sql)
|
||||
->execute($sql);
|
||||
|
||||
$className = ucfirst(Utils::SQLName2PHPName($tableName));
|
||||
|
||||
$this->smarty->assign('tableName', $tableName);
|
||||
$this->smarty->assign('className', $className);
|
||||
|
||||
$columnNames = array();
|
||||
$columns = $stmt->fetchAllAssoc();
|
||||
//Utils::ArrayDisplay($columns);
|
||||
//$columns = $stmt->FetchAllRow();
|
||||
foreach ($columns as $column) {
|
||||
//Utils::ArrayDisplay($column);
|
||||
if ($column['COLUMN_NAME'] === 'id_mf_participant') {
|
||||
$tmp_name = 'id';
|
||||
} else {
|
||||
$tmp_name = Utils::SQLName2PHPName($column['COLUMN_NAME']);
|
||||
}
|
||||
$columnNames[$column['COLUMN_NAME']] = $tmp_name;
|
||||
}
|
||||
//Utils::ArrayDisplay($this->smarty);
|
||||
|
||||
$this->smarty->assign('columnNames', $columnNames);
|
||||
|
||||
$output = '<?php' . $this->smarty->fetch('partial/Calc/templateModel.tpl') . '?>';
|
||||
//Utils::ArrayDisplay($this->smarty);
|
||||
$file = fopen(PATH_MODEL_TMP . $className . '.class.php', "w");
|
||||
fwrite($file, $output);
|
||||
fclose($file);
|
||||
|
||||
$outputDAL = '<?php' . $this->smarty->fetch('partial/Calc/templateModelDAL.tpl') . '?>';
|
||||
$file = fopen(PATH_MODEL_TMP . $className . 'DAL.class.php', "w");
|
||||
fwrite($file, $outputDAL);
|
||||
fclose($file);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Metoda wspolna
|
||||
*
|
||||
*/
|
||||
public function preDispatch($param) {
|
||||
|
||||
$this->RunShared('Auth', $param);
|
||||
$this->Run($param);
|
||||
$admin = AuthDAL::GetAdmin();
|
||||
$this->user = $admin;
|
||||
|
||||
$this->smarty->assign('titleAdmin', 'Formularz');
|
||||
$struct = array(
|
||||
//'User' => array('User' => 'Index'),
|
||||
'Parametry' => array('Calc' => 'Index', 'type' => 1),
|
||||
//'Parametry mieszkanie' => array('Calc' => 'Index', 'type' => 2),
|
||||
'Treści' => array('HomeSite' => 'EditArticle')
|
||||
);
|
||||
|
||||
$this->smarty->assign('structure', $this->renderStruct($struct));
|
||||
}
|
||||
|
||||
private function renderStruct($struct) {
|
||||
$return = '';
|
||||
|
||||
foreach ($struct AS $k => $row) {
|
||||
$return .= '<li><a href="' . Router::GenerateUrl('dictpig', $row) . '">' . $k . '</a></li>';
|
||||
}
|
||||
|
||||
$html = '<ul>';
|
||||
$html .= $return;
|
||||
$html .= '</ul>';
|
||||
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function postDispatch($param) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user