Compare commits
13 Commits
Author | SHA1 | Date |
---|---|---|
|
c47306b609 | |
|
6d6e9e6e7b | |
|
acebcca92b | |
|
861c5d4608 | |
|
2d0129267b | |
|
4c4d1af1a5 | |
|
b33d7a471c | |
|
24b2a0ee45 | |
|
05e640d6a3 | |
|
eb0ee2a587 | |
|
d44fe3cccb | |
|
ab4ce6d96a | |
|
fa18e07f23 |
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
name: Publish PHP Package
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Get tag name
|
||||||
|
run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: zip and send
|
||||||
|
run: |
|
||||||
|
ls -la
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y zip
|
||||||
|
cd ../
|
||||||
|
zip -r ${{ gitea.event.repository.name }}.zip ${{ gitea.event.repository.name }} -x '*.git*'
|
||||||
|
curl -v \
|
||||||
|
--user composer-pbl:${{ secrets.COMPOSER_PSWD }} \
|
||||||
|
--upload-file ${{ gitea.event.repository.name }}.zip \
|
||||||
|
https://git.bit5.ru/api/packages/bit/composer?version=${{ env.TAG }}
|
104
macro.inc.php
104
macro.inc.php
|
@ -1,5 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @global
|
||||||
|
*/
|
||||||
|
function macro_VCLASSID($proc, $class)
|
||||||
|
{
|
||||||
|
return '"$id" : ' . constant("$class::CLASS_ID");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @global
|
||||||
|
*/
|
||||||
|
function macro_VCLASS($proc, $class)
|
||||||
|
{
|
||||||
|
return '"__vclass" : ' . constant("$class::CLASS_ID");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @global
|
* @global
|
||||||
*/
|
*/
|
||||||
|
@ -31,6 +47,51 @@ function macro_INTERVAL($proc, $spec)
|
||||||
return $sec;
|
return $sec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @global
|
||||||
|
*/
|
||||||
|
function macro_WEEK_DATE($proc, $spec)
|
||||||
|
{
|
||||||
|
$parts = explode(" ", $spec);
|
||||||
|
$dow_str = $parts[0];
|
||||||
|
$time_str = $parts[1];
|
||||||
|
|
||||||
|
$day = 0;
|
||||||
|
switch ($dow_str) {
|
||||||
|
case 'MONDAY':
|
||||||
|
$day = 0;
|
||||||
|
break;
|
||||||
|
case 'TUESDAY':
|
||||||
|
$day = 1;
|
||||||
|
break;
|
||||||
|
case 'WEDNESDAY':
|
||||||
|
$day = 2;
|
||||||
|
break;
|
||||||
|
case 'THURSDAY':
|
||||||
|
$day = 3;
|
||||||
|
break;
|
||||||
|
case 'FRIDAY':
|
||||||
|
$day = 4;
|
||||||
|
break;
|
||||||
|
case 'SATURDAY':
|
||||||
|
$day = 5;
|
||||||
|
break;
|
||||||
|
case 'SUNDAY':
|
||||||
|
$day = 6;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Exception("Bad day of week: $spec");
|
||||||
|
}
|
||||||
|
|
||||||
|
$stamp = strtotime($time_str);
|
||||||
|
if($stamp === false)
|
||||||
|
throw new Exception("Bad time: $spec");
|
||||||
|
|
||||||
|
$stamp += $day * 24 * 60 * 60;
|
||||||
|
|
||||||
|
return $stamp;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @global
|
* @global
|
||||||
*/
|
*/
|
||||||
|
@ -148,9 +209,12 @@ function macro_IS_DEV($jsm)
|
||||||
/**
|
/**
|
||||||
* @global
|
* @global
|
||||||
*/
|
*/
|
||||||
function macro_VCLASS($proc, $class)
|
function macro_PROP($jsm, $expr)
|
||||||
{
|
{
|
||||||
return '"vclass__" : ' . constant("$class::CLASS_ID");
|
$res = \taskman\get($expr);
|
||||||
|
if(is_string($res))
|
||||||
|
return '"'.$res.'"';
|
||||||
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -171,3 +235,39 @@ function macro_UNWRAP($jsm, $content)
|
||||||
$content = rtrim($content, '}');
|
$content = rtrim($content, '}');
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _array_merge_recursive_distinct(array $array1, array $array2)
|
||||||
|
{
|
||||||
|
$merged = $array1;
|
||||||
|
|
||||||
|
foreach($array2 as $key => $value)
|
||||||
|
{
|
||||||
|
if(is_array($value) && isset($merged[$key]) && is_array($merged[$key]))
|
||||||
|
$merged[$key] = _array_merge_recursive_distinct($merged[$key], $value);
|
||||||
|
else
|
||||||
|
$merged[$key] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $merged;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @global @raw_args
|
||||||
|
*/
|
||||||
|
function macro_OVERRIDE($jsm, $content)
|
||||||
|
{
|
||||||
|
$items = \jzon_parse($content);
|
||||||
|
if(!is_array($items))
|
||||||
|
throw new Exception("OVERRIDE contents not an array");
|
||||||
|
if(sizeof($items) != 2)
|
||||||
|
throw new Exception("OVERRIDE array size is not 2, it's " . sizeof($items));
|
||||||
|
|
||||||
|
$merged = _array_merge_recursive_distinct($items[0], $items[1]);
|
||||||
|
|
||||||
|
$json = json_encode($merged, JSON_UNESCAPED_LINE_TERMINATORS | JSON_UNESCAPED_SLASHES);
|
||||||
|
$json = ltrim($json, '{');
|
||||||
|
$json = rtrim($json, '}');
|
||||||
|
|
||||||
|
return $json;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue