commit vendor

This commit is contained in:
2025-11-11 14:49:30 +01:00
parent f33121a308
commit 6d03080c00
2436 changed files with 483781 additions and 0 deletions

View File

@ -0,0 +1,97 @@
#!/usr/bin/env php
<?php
use wapmorgan\UnifiedArchive\CamApplication;
use wapmorgan\UnifiedArchive\UnifiedArchive;
$paths = [
// as a root package or phar
__DIR__.'/../vendor/autoload.php',
// as a dependency from bin
__DIR__.'/../autoload.php',
// as a dependency from package folder
__DIR__.'/../../../autoload.php',
];
function init_composer(array $paths) {
foreach ($paths as $path) {
if (file_exists($path)) {
require_once $path;
return true;
}
}
return false;
}
if (!init_composer($paths)) die('Run `composer install` firstly.'.PHP_EOL);
if (!class_exists('\Docopt')) die('Install docopt firsly. Run `composer require docopt/docopt ~1.0`.'.PHP_EOL);
$version = UnifiedArchive::VERSION;
$doc = <<<DOC
Universal console archive manager for Windows/Linux (part of UnifiedArchive $version).
USAGE: cam (-l|--list) ARCHIVE
cam (-t|--table) ARCHIVE
cam (-i|--info) ARCHIVE
cam (-e|--extract) [--output=DIR] [--replace=(all|ask|none|time|size)] [--flat=(file|path)] [--exclude=PATTERN] ARCHIVE [FILES_IN_ARCHIVE...]
cam (-p|--print) ARCHIVE FILES_IN_ARCHIVE...
cam (-d|--details) ARCHIVE FILES_IN_ARCHIVE...
cam (-x|--delete) ARCHIVE FILES_IN_ARCHIVE...
cam (-a|--add) ARCHIVE FILES_ON_DISK...
cam (-c|--create) ARCHIVE FILES_ON_DISK...
cam (-f|--formats)
ACTIONS:
-l(--list) List files in archive
-t(--table) List files as table in archive
-i(--info) Summary about archive
-e(--extract) Extract from archive
-p(--print) Extract archive file content on terminal
-d(--details) Details about file in archive
-x(--delete) Delete files from archive
-a(--add) Pack files to archive
-c(--create) Create new archive
OPTIONS:
for --extract (-e):
--replace=all|ask|none|time|size
Set how should be resolved cases in that extracting files already exist.
all - replaces all files
ask - ask for manual resolution on every case
none - preserve all existing on disk files
time - selects file with later timestamp
size - selects file with bigger size
--flat=[file,path]
Removes all hierarchy and stores all files in one directory. With path option file name will be prepended with in-archive path (all "/" replaced by "-").
--exclude FILES... or
--exclude /PATTERN/
Excludes one or few files, directories by exact in-archive path or by regular expression pattern.
--output=DIRECTORY
Set output directory in that all files will be extracted.
DOC;
$args = Docopt::handle($doc, ['version' => UnifiedArchive::VERSION]);
$actions = array(
'l:list' => 'listArray',
't:table' => 'table',
'i:info' => 'info',
'e:extract' => 'extract',
'p:print' => 'printFile',
'd:details' => 'details',
'x:delete' => 'delete',
'a:add' => 'add',
'c:create' => 'create',
'f:formats' => 'checkFormats',
);
foreach ($actions as $arg => $v) {
$arg = explode(':', $arg);
if ($args['-'.$arg[0]] === true || $args['--'.$arg[1]] === true) {
$application = new CamApplication();
call_user_func(array($application, $v), $args);
}
}