From 07f5140771388c9e0c8a99b0dd2e5d950bdb173b Mon Sep 17 00:00:00 2001
From: Yuchen Pei <hi@ypei.me>
Date: Thu, 14 Oct 2021 15:16:42 +1100
Subject: moving h-source subdir out.

---
 Application/Modules/ModBase.php      | 41 ++++++++++++++++++++++++++++++++
 Application/Modules/ModImage.php     | 45 ++++++++++++++++++++++++++++++++++++
 Application/Modules/ModLink.php      | 18 +++++++++++++++
 Application/Modules/ModLinkimage.php | 18 +++++++++++++++
 Application/Modules/ModRaw.php       | 18 +++++++++++++++
 Application/Modules/ModTopLink.php   | 32 +++++++++++++++++++++++++
 Application/Modules/index.html       |  1 +
 7 files changed, 173 insertions(+)
 create mode 100644 Application/Modules/ModBase.php
 create mode 100644 Application/Modules/ModImage.php
 create mode 100644 Application/Modules/ModLink.php
 create mode 100644 Application/Modules/ModLinkimage.php
 create mode 100644 Application/Modules/ModRaw.php
 create mode 100644 Application/Modules/ModTopLink.php
 create mode 100644 Application/Modules/index.html

(limited to 'Application/Modules')

diff --git a/Application/Modules/ModBase.php b/Application/Modules/ModBase.php
new file mode 100644
index 0000000..44d25a2
--- /dev/null
+++ b/Application/Modules/ModBase.php
@@ -0,0 +1,41 @@
+<?php
+
+// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+// See COPYRIGHT.txt and LICENSE.txt.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print an HTML link
+//extends the ModAbstract class inside the Library folder
+class ModBase extends ModAbstract {
+	
+	public function render()
+	{
+		return null;
+	}
+	
+	public function getHtmlClass()
+	{
+		if (isset($this->simpleXmlObj->classname))
+		{
+			return " class='".$this->simpleXmlObj->classname[0]."' ";
+		}
+		return null;
+	}
+	
+	//wrap the html with a <div>
+	//look for the <div> tag in the xml in order to set the class of the div
+	public function wrapDiv($string)
+	{
+		$divOpen = "<div class='box_module'>";
+		$divClose = "</div>";
+		
+		if (isset($this->simpleXmlObj->div))
+		{
+			$divOpen = "<div class='".$this->simpleXmlObj->div."'>";
+		}
+		
+		return $divOpen . $string . $divClose;
+	}
+	
+}
\ No newline at end of file
diff --git a/Application/Modules/ModImage.php b/Application/Modules/ModImage.php
new file mode 100644
index 0000000..5a116b1
--- /dev/null
+++ b/Application/Modules/ModImage.php
@@ -0,0 +1,45 @@
+<?php
+
+// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+// See COPYRIGHT.txt and LICENSE.txt.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print an HTML image
+//extends the ModBase class
+class ModImage extends ModBase {
+	
+	public function widthPropertyString()
+	{
+		if (isset($this->simpleXmlObj->width))
+		{
+			return " width = '" . $this->simpleXmlObj->width ."' "; 
+		}
+		return null;
+	}
+
+	public function heightPropertyString()
+	{
+		if (isset($this->simpleXmlObj->height))
+		{
+			return " height = '" . $this->simpleXmlObj->height ."' "; 
+		}
+		return null;
+	}
+	
+	public function titlePropertyString()
+	{
+		if (isset($this->simpleXmlObj->title))
+		{
+			return " title = '" . $this->simpleXmlObj->title ."' "; 
+		}
+		return null;
+	}
+	
+	public function render()
+	{
+		$link = "<img ".$this->getHtmlClass().$this->widthPropertyString().$this->heightPropertyString().$this->titlePropertyString()." src='".$this->simpleXmlObj->src[0]."'>";
+		return $this->wrapDiv($link)."\n";
+	}
+		
+}
\ No newline at end of file
diff --git a/Application/Modules/ModLink.php b/Application/Modules/ModLink.php
new file mode 100644
index 0000000..011bc78
--- /dev/null
+++ b/Application/Modules/ModLink.php
@@ -0,0 +1,18 @@
+<?php
+
+// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+// See COPYRIGHT.txt and LICENSE.txt.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print an HTML link
+//extends the ModBase class
+class ModLink extends ModBase {
+	
+	public function render()
+	{
+		$link = "<a ".$this->getHtmlClass()." href='".$this->simpleXmlObj->href[0]."'>".$this->simpleXmlObj->text[0]."</a>";
+		return $this->wrapDiv($link)."\n";
+	}
+		
+}
\ No newline at end of file
diff --git a/Application/Modules/ModLinkimage.php b/Application/Modules/ModLinkimage.php
new file mode 100644
index 0000000..8e49bbf
--- /dev/null
+++ b/Application/Modules/ModLinkimage.php
@@ -0,0 +1,18 @@
+<?php
+
+// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+// See COPYRIGHT.txt and LICENSE.txt.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print an HTML image linking to something
+//extends the ModBase class
+class ModLinkimage extends ModImage {
+	
+	public function render()
+	{
+		$link = "<a ".$this->getHtmlClass()." href='".$this->simpleXmlObj->href[0]."'><img ".$this->widthPropertyString().$this->heightPropertyString().$this->titlePropertyString()." src='".$this->simpleXmlObj->src[0]."'></a>";
+		return $this->wrapDiv($link)."\n";
+	}
+	
+}
\ No newline at end of file
diff --git a/Application/Modules/ModRaw.php b/Application/Modules/ModRaw.php
new file mode 100644
index 0000000..4ed3226
--- /dev/null
+++ b/Application/Modules/ModRaw.php
@@ -0,0 +1,18 @@
+<?php
+
+// All EasyGiant code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+// See COPYRIGHT.txt and LICENSE.txt.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print some raw HTML
+//extends the ModBase class
+class ModRaw extends ModBase {
+	
+	public function render()
+	{
+		$link = $this->simpleXmlObj->text[0];
+		return $this->wrapDiv($link)."\n";
+	}
+		
+}
\ No newline at end of file
diff --git a/Application/Modules/ModTopLink.php b/Application/Modules/ModTopLink.php
new file mode 100644
index 0000000..6407c3e
--- /dev/null
+++ b/Application/Modules/ModTopLink.php
@@ -0,0 +1,32 @@
+<?php
+
+// h-source, a web software to build a community of people that want to share their hardware information.
+// Copyright (C) 2010  Antonio Gallo (h-source-copyright.txt)
+//
+// This file is part of h-source
+//
+// h-source is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+// 
+// h-source is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with h-source.  If not, see <http://www.gnu.org/licenses/>.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+//module to print an HTML link
+//extends the ModBase class
+class ModTopLink extends ModBase {
+	
+	public function render($liclass = null)
+	{
+		return "<li $liclass><a ".$this->getHtmlClass()." href='".$this->simpleXmlObj->href[0]."'>".$this->simpleXmlObj->text[0]."</a></li>";
+	}
+		
+}
\ No newline at end of file
diff --git a/Application/Modules/index.html b/Application/Modules/index.html
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/Application/Modules/index.html
@@ -0,0 +1 @@
+ 
-- 
cgit v1.2.3