Skip to content

mschnieder/rex-modulemanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModuleManager

Mit diesem Redaxo Addon können die Redaxo Module über eine Zentrale Stelle in verschiedenen Versionen verwaltet werden.

Die "Zentrale" ist die nachfolgende index.php die unter der angegebenen URL in der Config erreichbar sein muss. Es gibt auch noch 2 Datenbank Tabellen zur Verwaltung der einzelnen Versionen von Modulen.

Die index.php muss über eine https Verbindung erreichbar sein!

<?php

$hostname = 'localhost';
$username = 'root';
$passwort = '';
$database = 'modulemanager';
$prefix	  = 'rex_';


$sql = new mysqli($hostname, $username, $passwort, $database);

if($sql->connect_errno) {
	echo "Sorry, database down!";
	exit;
}


$erg = $sql->query("Select * from module order by name");

$d = [];
while($r = $erg->fetch_assoc()) {
	$erg2 = $sql->query("Select * from module_content where modulid=".$r['id']);

	$a = new stdClass();
	$a->name = utf8_encode($r['name']);
	$a->author = utf8_encode($r['author']);
	$a->shortdescription = utf8_encode($r['shortdescription']);
	$a->description = utf8_encode($r['description']);
	$a->created = utf8_encode($r['created']);
	$a->updated = utf8_encode($r['updated']);

	while($r2 = $erg2->fetch_assoc()) {
		$b = new stdClass();
		$b->version = utf8_encode($r2['version']);
		$b->description = utf8_encode($r2['description']);
		$b->created = utf8_encode($r2['created']);
		$b->updated = utf8_encode($r2['updated']);
		$b->input = utf8_encode($r2['input']);
		$b->output = utf8_encode($r2['output']);

		$a->files[$r2['revid']] = $b;
	}

	$d[utf8_encode($r['name'])] = $a;
}
echo json_encode($d);

?>

Erstellung der benötigten Tabellen


CREATE TABLE IF NOT EXISTS `module` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `author` varchar(35) DEFAULT NULL,
  `shortdescription` varchar(255) DEFAULT NULL,
  `description` text,
  `created` datetime DEFAULT NULL,
  `updated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


CREATE TABLE IF NOT EXISTS `module_content` (
  `revid` int(11) NOT NULL AUTO_INCREMENT,
  `modulid` int(11) NOT NULL DEFAULT '0',
  `version` char(10) NOT NULL,
  `description` text NOT NULL,
  `created` datetime NOT NULL,
  `updated` datetime NOT NULL,
  `input` longtext NOT NULL,
  `output` longtext NOT NULL,
  PRIMARY KEY (`revid`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


Beispiel Import von Modulen

INSERT INTO `module` (`id`, `name`, `author`, `shortdescription`, `description`, `created`, `updated`) VALUES
	(1, 'Testmodul 123', 'Markus Schnieder', 'Das Ultimative geile erste Modul!', 'Hier kommt die mega lange beschreibung rein, damit man weiß was dass ding so kann...', '2018-03-14 13:29:07', '2018-03-14 13:29:07'),
	(2, 'Headlines', NULL, NULL, NULL, NULL, NULL);
	
	

INSERT INTO `module_content` (`revid`, `modulid`, `version`, `description`, `created`, `updated`, `input`, `output`) VALUES
	(1, 1, '1.0.1', 'Das hat sich so alles geändert...', '2018-03-14 13:30:55', '2018-03-14 13:30:56', 'Test 123', 'HAHHA'),
	(2, 1, '1.0.2', 'Das ist neu', '2018-03-15 10:18:56', '2018-03-15 10:18:57', 'asdf', 'blub');

About

Module Manager für Redaxo 5

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages