From 3ff03dc4f0a72432b34c00da620272cf011e4ddd Mon Sep 17 00:00:00 2001
From: Yuchen Pei <me@ypei.me>
Date: Thu, 29 Jul 2021 14:17:20 +1000
Subject: Publishing h-node.org code.

- this is the h-node.org code, except
  - removed a js file (3x copies at three different locations) without license / copyright headers
    - /Js/linkToForm.js
    - /Public/Js/linkToForm.js
    - /admin/Public/Js/linkToForm.js
  - removed config files containing credentials
    - /Application/Include/params.php
    - /Config/Config.php
    - /admin/Application/Include/params.php
    - /admin/Config/Config.php
  - added license and copyright header to one php file
    - /admin/Library/ErrorReporting.php (almost identical to /Library/ErrorReporting.php which has the headers)
---
 h-source/Library/Scaffold.php | 123 ++++++++++++++----------------------------
 1 file changed, 40 insertions(+), 83 deletions(-)

(limited to 'h-source/Library/Scaffold.php')

diff --git a/h-source/Library/Scaffold.php b/h-source/Library/Scaffold.php
index a418b7c..7e43134 100755
--- a/h-source/Library/Scaffold.php
+++ b/h-source/Library/Scaffold.php
@@ -2,7 +2,7 @@
 
 // EasyGiant is a PHP framework for creating and managing dynamic content
 //
-// Copyright (C) 2009 - 2014  Antonio Gallo (info@laboratoriolibero.com)
+// Copyright (C) 2009 - 2011  Antonio Gallo
 // See COPYRIGHT.txt and LICENSE.txt.
 //
 // This file is part of EasyGiant
@@ -32,9 +32,6 @@ class Scaffold
 	protected $_primaryKey = null; //the primary key of the table
 	protected $_controller = null; //the name of the controller
 
-	public $application = null; //the name of the application
-	public $applicationUrl = null; //the url of the application
-	public $controller = null; //the name of the controller
 	public $model = null; //the reference to the model associated with the controller
 
 	public $viewArgs = array(); //the associative array representing the status args of the main action of the controller.
@@ -57,37 +54,30 @@ class Scaffold
 	//instance of Lang_{language}_Generic
 	public $strings = null;
 	
-	public static $autoParams = array(
-		'mainAction'		=>	'main',
-		'modifyAction'		=>	'form/update',
-		'associateAction'	=>	'associate',
-		'panelController'	=>	'panel',
-		'pageList'			=>	true,
-		'pageVariable'		=>	'page',
-		'recordPerPage'		=>	20,
-		'mainMenu'			=>	'panel,add',
-		'formMenu'			=>	'panel,back',
-		'popup'				=>	false,
-		'popupType'			=>	'exclusive'
-	);
-	
-	public function __construct($type,$application, $controller,$model,$viewArgs,$params = null) {
+	public function __construct($type,$controller,$model,$viewArgs,$params = null) {
 
 		$this->_type = $type;
-		$this->application = $application;
-		$this->controller = $controller;
+		$this->_controller = $controller;
 		$this->model = $model;
 		$this->viewArgs = $viewArgs;
 
 		//get the generic language class
 		$this->strings = Factory_Strings::generic(Params::$language);
 		
-		$autoParams = self::$autoParams;
-		
-		if (!array_key_exists("postSubmitValue",$autoParams))
-		{
-			$autoParams['postSubmitValue'] = $this->strings->gtext('Save');
-		}
+		$autoParams = array(
+			'mainAction'		=>	'main',
+			'modifyAction'		=>	'form/update',
+			'associateAction'	=>	'associate',
+			'panelController'	=>	'panel',
+			'pageList'			=>	true,
+			'pageVariable'		=>	'page',
+			'recordPerPage'		=>	10,
+			'mainMenu'			=>	'panel,add',
+			'formMenu'			=>	'panel,back',
+			'postSubmitValue'	=>	'Save',
+			'popup'				=>	false,
+			'popupType'			=>	'exclusive'
+		);
 
 		//set the $this->scaffold->params array
 		if (is_array($params)) {
@@ -97,7 +87,6 @@ class Scaffold
 		}
 		$this->params = $autoParams;
 
-		$this->applicationUrl = isset($application) ? $application . "/" : null;
 	}
 
 	//ad some clauses to the select query
@@ -120,35 +109,11 @@ class Scaffold
 	{
 		$this->_primaryKey = $primaryKey;
 
-		if (is_array($recordList) or strcmp($recordList,'') !== 0)
+		if (strcmp($recordList,'') !== 0)
 		{
-			$recordListArray = is_array($recordList) ? $recordList : explode(',',$recordList);
-			
+			$recordListArray = explode(',',$recordList);
 			foreach ($recordListArray as $record) {
-				if (preg_match('/\[\[checkbox\]\](\;)(.*?)(\;)/',$record,$matches))
-				{
-					$this->itemList->addItem("checkbox",encode($matches[2]),";".$matches[2].";","",";".$primaryKey.";");
-				}
-				else if (preg_match('/\[\[checkbox\:(.*?)\]\](\;)(.*?)(\;)/',$record,$matches))
-				{
-					$this->itemList->addItem("checkbox",encode($matches[3]),";".$matches[3].";",$matches[1],";".$primaryKey.";");
-				}
-				else if (preg_match('/\[\[input\]\](\;)(.*?)(\;)/',$record,$matches))
-				{
-					$this->itemList->addItem("input",encode($matches[2]),";".$matches[2].";",";".$primaryKey.";");
-				}
-				else if (preg_match('/\[\[ledit\]\](\;)(.*?)(\;)/',$record,$matches))
-				{
-					$this->itemList->addItem("link",$this->applicationUrl . $this->controller.'/'.$this->params['modifyAction']."/;$primaryKey;","",";".$matches[2].";");
-				}
-				else if (strstr($record, ';'))
-				{
-					$this->itemList->addItem("simpleText","$record");
-				}
-				else
-				{
-					$this->itemList->addItem("simpleText",";$record;");
-				}
+				$this->itemList->addItem("simpleText",";$record;");
 			}
 		}
 
@@ -158,33 +123,26 @@ class Scaffold
 		{
 			foreach ($themeArray as $el)
 			{
-				if (preg_match('/ledit\|(.*)/',$el,$matches))
+				switch ($el)
 				{
-					$this->itemList->addItem('ledit',$matches[1],'Edit','Edit');
-				}
-				else
-				{
-					switch ($el)
-					{
-						case 'moveup':
-							$this->itemList->addItem('moveupForm',$this->applicationUrl . $this->controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
-							break;
-						case 'movedown':
-							$this->itemList->addItem('movedownForm',$this->applicationUrl . $this->controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
-							break;
-						case 'link':
-							$this->itemList->addItem('associateForm',$this->applicationUrl . $this->controller.'/'.$this->params['associateAction'],";".$primaryKey.";");
-							break;
-						case 'edit':
-							$this->itemList->addItem('editForm',$this->applicationUrl . $this->controller.'/'.$this->params['modifyAction'],";".$primaryKey.";");
-							break;
-						case 'del':
-							$this->itemList->addItem('delForm',$this->applicationUrl . $this->controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
-							break;
-						case 'ledit':
-							$this->itemList->addItem('ledit',$this->applicationUrl . $this->controller.'/'.$this->params['modifyAction'].'/;'.$primaryKey.';','Edit','Edit');
-							break;
-					}
+					case 'moveup':
+						$this->itemList->addItem('moveupForm',$this->_controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
+						break;
+					case 'movedown':
+						$this->itemList->addItem('movedownForm',$this->_controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
+						break;
+					case 'link':
+						$this->itemList->addItem('associateForm',$this->_controller.'/'.$this->params['associateAction'],";".$primaryKey.";");
+						break;
+					case 'edit':
+						$this->itemList->addItem('editForm',$this->_controller.'/'.$this->params['modifyAction'],";".$primaryKey.";");
+						break;
+					case 'del':
+						$this->itemList->addItem('delForm',$this->_controller.'/'.$this->params['mainAction'],";".$primaryKey.";");
+						break;
+					case 'ledit':
+						$this->itemList->addItem('ledit',$this->_controller.'/'.$this->params['mainAction'].'/;'.$primaryKey.';','Edit','Edit');
+						break;
 				}
 			}
 		}
@@ -199,8 +157,7 @@ class Scaffold
 		$this->queryType = $queryType;
 		$submitName = $this->model->getSubmitName($queryType);
 		$value = $this->params['postSubmitValue'];
-		$viewStatus = Url::createUrl($this->viewArgs);
-		
+		$viewStatus = Url::createUrl(array_values($this->viewArgs));
 		$this->model->setForm($action.$viewStatus,array($submitName => $value),$method,$enctype);
 		$this->form = $this->model->form;
 	}
-- 
cgit v1.2.3