mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-09 18:08:49 +00:00
Initial Release of the calendar plugin
This commit is contained in:
parent
45cc9885fc
commit
7115197a33
561 changed files with 189494 additions and 0 deletions
321
dav/SabreDAV/bin/pearpackage3.php
Executable file
321
dav/SabreDAV/bin/pearpackage3.php
Executable file
|
@ -0,0 +1,321 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
date_default_timezone_set('UTC');
|
||||
|
||||
$make = false;
|
||||
$packageName = null;
|
||||
|
||||
foreach($argv as $index=>$arg) {
|
||||
if ($index==0) continue;
|
||||
if ($arg=='make') {
|
||||
$make = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
$packageName = $arg;
|
||||
}
|
||||
|
||||
if (is_null($packageName)) {
|
||||
echo "A packagename is required\n";
|
||||
die(1);
|
||||
}
|
||||
|
||||
if (!is_dir('build/' . $packageName)) {
|
||||
echo "Could not find package directory: build/$packageName\n";
|
||||
die(2);
|
||||
}
|
||||
|
||||
// We'll figure out something better for this one day
|
||||
|
||||
$dependencies = array(
|
||||
array(
|
||||
'type' => 'php',
|
||||
'min' => '5.3.1',
|
||||
),
|
||||
array(
|
||||
'type' => 'pearinstaller',
|
||||
'min' => '1.9',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
switch($packageName) {
|
||||
|
||||
case 'Sabre' :
|
||||
$summary = 'Sabretooth base package.';
|
||||
$description = <<<TEXT
|
||||
The base package provides some functionality used by all packages.
|
||||
|
||||
Currently this is only an autoloader
|
||||
TEXT;
|
||||
$version = '1.0.0';
|
||||
$stability = 'stable';
|
||||
break;
|
||||
|
||||
case 'Sabre_DAV' :
|
||||
$summary = 'Sabre_DAV is a WebDAV framework for PHP.';
|
||||
$description = <<<TEXT
|
||||
SabreDAV allows you to easily integrate WebDAV access into your existing PHP application.
|
||||
|
||||
Feature List:
|
||||
* Fully WebDAV (class 1, 2, 3) compliant
|
||||
* Supports Windows clients, OS/X, DavFS, Cadaver, and pretty much everything we've come accross
|
||||
* Custom property support
|
||||
* RFC4918-compliant
|
||||
* Authentication support
|
||||
* Plugin system
|
||||
TEXT;
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_HTTP',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
|
||||
break;
|
||||
|
||||
case 'Sabre_HTTP' :
|
||||
$summary = 'Sabre_HTTP provides various HTTP helpers, for input and output and authentication';
|
||||
$description = <<<TEXT
|
||||
Sabre_HTTP effectively wraps around \$_SERVER, php://input, php://output and the headers method,
|
||||
allowing for a central interface to deal with this as well as easier unittesting.
|
||||
|
||||
In addition Sabre_HTTP provides classes for Basic, Digest and Amazon AWS authentication.
|
||||
TEXT;
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
break;
|
||||
|
||||
case 'Sabre_DAVACL' :
|
||||
$summary = 'Sabre_DAVACL provides rfc3744 support.';
|
||||
$description = <<<TEXT
|
||||
Sabre_DAVACL is the RFC3744 implementation for SabreDAV. It provides principals
|
||||
(users and groups) and access control.
|
||||
TEXT;
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_DAV',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
break;
|
||||
|
||||
case 'Sabre_CalDAV' :
|
||||
$summary = 'Sabre_CalDAV provides CalDAV extensions to SabreDAV';
|
||||
$description = <<<TEXT
|
||||
Sabre_CalDAV provides RFC4791 (CalDAV) support to Sabre_DAV.
|
||||
|
||||
Feature list:
|
||||
* Multi-user Calendar Server
|
||||
* Support for Apple iCal, Evolution, Sunbird, Lightning
|
||||
TEXT;
|
||||
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_HTTP',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_DAV',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_DAVACL',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_VObject',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.3.0',
|
||||
);
|
||||
break;
|
||||
|
||||
case 'Sabre_CardDAV' :
|
||||
$summary = 'Sabre_CardDAV provides CardDAV extensions to SabreDAV';
|
||||
$description = <<<TEXT
|
||||
Sabre_CardDAV provides CardDAV support to Sabre_DAV.
|
||||
|
||||
Feature list:
|
||||
* Multi-user addressbook server
|
||||
* ACL support
|
||||
* Support for OS/X, iOS, Evolution and probably more
|
||||
* Hook-ins for creating a global \'directory\'.
|
||||
TEXT;
|
||||
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_HTTP',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_DAV',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_DAVACL',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.6.0',
|
||||
);
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre_VObject',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.3.0',
|
||||
);
|
||||
break;
|
||||
|
||||
case 'Sabre_VObject' :
|
||||
$summary = 'Sabre_VObject is a natural-interface iCalendar and vCard reader';
|
||||
$description = <<<TEXT
|
||||
Sabre_VObject is an intuitive reader for iCalendar and vCard objects.
|
||||
|
||||
It provides a natural array/object accessor interface to the parsed tree, much like
|
||||
simplexml for XML files.
|
||||
TEXT;
|
||||
$dependencies[] = array(
|
||||
'type' => 'package',
|
||||
'name' => 'Sabre',
|
||||
'channel' => 'pear.sabredav.org',
|
||||
'min' => '1.0.0',
|
||||
);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!isset($version)) {
|
||||
include 'lib/' . str_replace('_','/',$packageName) . '/Version.php';
|
||||
$versionClassName = $packageName . '_Version';
|
||||
$version = $versionClassName::VERSION;
|
||||
$stability = $versionClassName::STABILITY;
|
||||
}
|
||||
|
||||
$lead = 'Evert Pot';
|
||||
$lead_email = 'evert@rooftopsolutions.nl';
|
||||
$date = date('Y-m-d');
|
||||
|
||||
$license = 'Modified BSD';
|
||||
$licenseuri = 'http://code.google.com/p/sabredav/wiki/License';
|
||||
$notes = 'New release. Read the ChangeLog and announcement for more details';
|
||||
$channel = 'pear.sabredav.org';
|
||||
|
||||
/* This function is intended to generate the full file list */
|
||||
function parsePath($fullPath, $role, $padding = 4) {
|
||||
|
||||
$fileList = '';
|
||||
$file = basename($fullPath);
|
||||
if (is_dir($fullPath)) {
|
||||
$fileList .= str_repeat(' ', $padding) . "<dir name=\"{$file}\">\n";
|
||||
foreach(scandir($fullPath) as $subPath) {;
|
||||
if ($subPath==='.' || $subPath==='..') continue;
|
||||
$fileList .= parsePath($fullPath. '/' . $subPath,$role, $padding+2);
|
||||
}
|
||||
$fileList .= str_repeat(' ', $padding) . "</dir><!-- {$file} -->\n";
|
||||
} elseif (is_file($fullPath)) {
|
||||
$fileList .= str_repeat(' ', $padding) . "<file name=\"{$file}\" role=\"{$role}\" />\n";
|
||||
}
|
||||
|
||||
return $fileList;
|
||||
|
||||
}
|
||||
|
||||
$rootDir = realpath('build/' . $packageName);
|
||||
|
||||
$fileList = parsePath($rootDir . '/Sabre', 'php');
|
||||
$fileList .= parsePath($rootDir . '/examples', 'doc');
|
||||
$fileList .= parsePath($rootDir . '/ChangeLog', 'doc');
|
||||
$fileList .= parsePath($rootDir . '/LICENSE', 'doc');
|
||||
|
||||
$dependenciesXML = "\n";
|
||||
foreach($dependencies as $dep) {
|
||||
$pad = 8;
|
||||
$dependenciesXML.=str_repeat(' ',$pad) . '<' . $dep['type'] . ">\n";
|
||||
foreach($dep as $key=>$value) {
|
||||
if ($key=='type') continue;
|
||||
$dependenciesXML.=str_repeat(' ',$pad+2) . "<$key>$value</$key>\n";
|
||||
}
|
||||
$dependenciesXML.=str_repeat(' ',$pad) . '</' . $dep['type'] . ">\n";
|
||||
}
|
||||
|
||||
$package = <<<XML
|
||||
<?xml version="1.0"?>
|
||||
<package version="2.0"
|
||||
xmlns="http://pear.php.net/dtd/package-2.0">
|
||||
|
||||
<name>{$packageName}</name>
|
||||
<channel>{$channel}</channel>
|
||||
<summary>{$summary}</summary>
|
||||
<description>{$description}</description>
|
||||
<lead>
|
||||
<name>{$lead}</name>
|
||||
<user>{$lead}</user>
|
||||
<email>{$lead_email}</email>
|
||||
<active>true</active>
|
||||
</lead>
|
||||
<date>{$date}</date>
|
||||
<version>
|
||||
<release>{$version}</release>
|
||||
<api>{$version}</api>
|
||||
</version>
|
||||
<stability>
|
||||
<release>{$stability}</release>
|
||||
<api>{$stability}</api>
|
||||
</stability>
|
||||
<license uri="{$licenseuri}">{$license}</license>
|
||||
<notes>{$notes}</notes>
|
||||
<contents>
|
||||
<dir name="/">{$fileList}
|
||||
</dir>
|
||||
</contents>
|
||||
<dependencies>
|
||||
<required>{$dependenciesXML}
|
||||
</required>
|
||||
</dependencies>
|
||||
<phprelease />
|
||||
</package>
|
||||
XML;
|
||||
|
||||
if (isset($argv) && in_array('make',$argv)) {
|
||||
file_put_contents($rootDir . '/package.xml',$package);
|
||||
} else {
|
||||
echo $package;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue