Browse Source

Repositories: move code to src/repositories.php; configure $config['repositories']

master
parent
commit
14d44c80c1
  1. 9
      conf.php-dist
  2. 1
      modulekit.php
  3. 26
      repo.php
  4. 30
      src/repositories.php

9
conf.php-dist

@ -1,6 +1,11 @@
<?php
// Directory from which to read the categories.
$config['categoriesDir'] = 'node_modules/openstreetbrowser-categories-main';
// Repositories from which to read the categories.
$config['repositories'] = array(
'default' => array(
'path' => 'node_modules/openstreetbrowser-categories-main',
'type' => 'dir',
),
);
// Set to true to reload categories on every page visit.
$config['categoriesAlwaysReload'] = true;

1
modulekit.php

@ -18,6 +18,7 @@ $include = array(
'src/ImageLoader.php',
'src/RepositoryDir.php',
'src/RepositoryGit.php',
'src/repositories.php',
),
'css' => array(
'style.css',

26
repo.php

@ -5,32 +5,14 @@
<?php include "node_modules/json-multiline-strings/src/json-multiline-strings.php"; ?>
<?php call_hooks("init"); /* initialize submodules */ ?>
<?php
if (!isset($repositories)) {
$repositories = array(
'default' => array(
'path' => $config['categoriesDir'],
),
);
}
function getRepo ($repoId, $repoData) {
switch (array_key_exists('type', $repoData) ? $repoData['type'] : 'dir') {
case 'git':
$repo = new RepositoryGit($repoId, $repoData);
break;
default:
$repo = new RepositoryDir($repoId, $repoData);
}
return $repo;
}
$allRepositories = getRepositories();
if (!isset($_REQUEST['repo'])) {
Header("Content-Type: application/json; charset=utf-8");
print '{';
$c = 0;
foreach ($repositories as $repoId => $repoData) {
foreach (getRepositories() as $repoId => $repoData) {
$repo = getRepo($repoId, $repoData);
print $c++ ? ',' : '';
@ -43,12 +25,12 @@ if (!isset($_REQUEST['repo'])) {
}
$repoId = $_REQUEST['repo'];
if (!array_key_exists($repoId, $repositories)) {
if (!array_key_exists($repoId, $allRepositories)) {
Header("HTTP/1.1 404 Repository not found");
exit(0);
}
$repo = getRepo($repoId, $repositories[$repoId]);
$repo = getRepo($repoId, $allRepositories[$repoId]);
$cacheDir = null;
$ts = $repo->newestTimestamp($path);

30
src/repositories.php

@ -0,0 +1,30 @@
<?php
function getRepositories () {
global $config;
$repositories = array();
if (isset($config['repositories'])) {
$repositories = $config['repositories'];
}
else {
$repositories = array(
'default' => array(
'path' => $config['categoriesDir'],
),
);
}
return $repositories;
}
function getRepo ($repoId, $repoData) {
switch (array_key_exists('type', $repoData) ? $repoData['type'] : 'dir') {
case 'git':
$repo = new RepositoryGit($repoId, $repoData);
break;
default:
$repo = new RepositoryDir($repoId, $repoData);
}
return $repo;
}
Loading…
Cancel
Save