mirror of
https://github.com/myvesta/vesta
synced 2025-07-06 04:51:54 -07:00
myvesta-php-func support for stdin
This commit is contained in:
parent
77467eeebd
commit
4dd6d22f07
4 changed files with 126 additions and 6 deletions
|
@ -8,5 +8,14 @@
|
||||||
# Action #
|
# Action #
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
|
||||||
|
if [ -p /dev/stdin ]; then
|
||||||
|
STDIN=$(cat -)
|
||||||
|
if [ ! -z "$STDIN" ]; then
|
||||||
|
echo "$STDIN" | php /usr/local/vesta/func/bash-to-php-interpreter.php "$@"
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
php /usr/local/vesta/func/bash-to-php-interpreter.php "$@"
|
php /usr/local/vesta/func/bash-to-php-interpreter.php "$@"
|
||||||
exit $?
|
exit $?
|
||||||
|
|
|
@ -7,6 +7,14 @@ else $SHLVL=3;
|
||||||
|
|
||||||
if (!isset($argv)) exit(5);
|
if (!isset($argv)) exit(5);
|
||||||
|
|
||||||
|
stream_set_blocking(STDIN, false);
|
||||||
|
$myvesta_stdin='';
|
||||||
|
$myvesta_f = fopen( 'php://stdin', 'r' );
|
||||||
|
while( $myvesta_line = fgets( $myvesta_f ) ) {
|
||||||
|
$myvesta_stdin .= $myvesta_line;
|
||||||
|
}
|
||||||
|
fclose( $myvesta_f );
|
||||||
|
|
||||||
include ("/usr/local/vesta/func/main.php");
|
include ("/usr/local/vesta/func/main.php");
|
||||||
include ("/usr/local/vesta/func/string.php");
|
include ("/usr/local/vesta/func/string.php");
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,9 @@ function myvesta_fix_args() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function myvesta_test_func () {
|
function myvesta_test_func () {
|
||||||
|
global $myvesta_stdin;
|
||||||
$args=func_get_args();
|
$args=func_get_args();
|
||||||
|
if ($myvesta_stdin!='') array_splice( $args, 0, 0, array($myvesta_stdin) );
|
||||||
myvesta_echo ("You said: ");
|
myvesta_echo ("You said: ");
|
||||||
myvesta_echo (trim(print_r ($args, true)));
|
myvesta_echo (trim(print_r ($args, true)));
|
||||||
}
|
}
|
||||||
|
|
113
func/string.php
113
func/string.php
|
@ -70,8 +70,23 @@ function myvesta_strip_in_file_between_including_borders($file, $left, $right) {
|
||||||
|
|
||||||
// --- string functions ---
|
// --- string functions ---
|
||||||
|
|
||||||
function myvesta_str_get_between (&$text, $left_substring, $right_substring, $start=0, $return_left_substring=0, $return_right_substring=0, $left_substring_necessary=1, $right_substring_necessary=1) {
|
function myvesta_str_get_between () {
|
||||||
global $myvesta_str_found_at, $myvesta_str_end_at;
|
global $myvesta_stdin, $myvesta_str_found_at, $myvesta_str_end_at;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $left_substring=$args[$args_i];
|
||||||
|
$args_i++; $right_substring=$args[$args_i];
|
||||||
|
$args_i++; $start=0; if (!empty($args[$args_i])) $start=intval($args[$args_i]);
|
||||||
|
$args_i++; $return_left_substring=0; if (!empty($args[$args_i])) $return_left_substring=intval($args[$args_i]);
|
||||||
|
$args_i++; $return_right_substring=0; if (!empty($args[$args_i])) $return_right_substring=intval($args[$args_i]);
|
||||||
|
$args_i++; $left_substring_necessary=1; if (!empty($args[$args_i])) $left_substring_necessary=intval($args[$args_i]);
|
||||||
|
$args_i++; $right_substring_necessary=1; if (!empty($args[$args_i])) $right_substring_necessary=intval($args[$args_i]);
|
||||||
|
|
||||||
$myvesta_str_found_at=0;
|
$myvesta_str_found_at=0;
|
||||||
$myvesta_str_end_at=0;
|
$myvesta_str_end_at=0;
|
||||||
$from_null=0;
|
$from_null=0;
|
||||||
|
@ -105,7 +120,19 @@ function myvesta_str_get_between (&$text, $left_substring, $right_substring, $st
|
||||||
return substr($text, $pos1, $len);
|
return substr($text, $pos1, $len);
|
||||||
}
|
}
|
||||||
|
|
||||||
function myvesta_str_replace_once_between_including_borders(&$text, $left, $right, $replace_with) {
|
function myvesta_str_replace_once_between_including_borders() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $left=$args[$args_i];
|
||||||
|
$args_i++; $right=$args[$args_i];
|
||||||
|
$args_i++; $replace_with=$args[$args_i];
|
||||||
|
|
||||||
$pos1=strpos($text, $left);
|
$pos1=strpos($text, $left);
|
||||||
if ($pos1===false) return $text;
|
if ($pos1===false) return $text;
|
||||||
$pos2=strpos($text, $right, $pos1+strlen($left));
|
$pos2=strpos($text, $right, $pos1+strlen($left));
|
||||||
|
@ -113,7 +140,18 @@ function myvesta_str_replace_once_between_including_borders(&$text, $left, $righ
|
||||||
return substr($text, 0, $pos1).$replace_with.substr($text, $pos2+strlen($right));
|
return substr($text, 0, $pos1).$replace_with.substr($text, $pos2+strlen($right));
|
||||||
}
|
}
|
||||||
|
|
||||||
function myvesta_str_strip_once_between_including_borders(&$text, $left, $right) {
|
function myvesta_str_strip_once_between_including_borders() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $left=$args[$args_i];
|
||||||
|
$args_i++; $right=$args[$args_i];
|
||||||
|
|
||||||
$pos1=strpos($text, $left);
|
$pos1=strpos($text, $left);
|
||||||
if ($pos1===false) return $text;
|
if ($pos1===false) return $text;
|
||||||
$pos2=strpos($text, $right, $pos1+strlen($left));
|
$pos2=strpos($text, $right, $pos1+strlen($left));
|
||||||
|
@ -121,7 +159,19 @@ function myvesta_str_strip_once_between_including_borders(&$text, $left, $right)
|
||||||
return substr($text, 0, $pos1).substr($text, $pos2+strlen($right));
|
return substr($text, 0, $pos1).substr($text, $pos2+strlen($right));
|
||||||
}
|
}
|
||||||
|
|
||||||
function myvesta_str_replace_between_including_borders($text, $left, $right, $replace_with) {
|
function myvesta_str_replace_between_including_borders() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $left=$args[$args_i];
|
||||||
|
$args_i++; $right=$args[$args_i];
|
||||||
|
$args_i++; $replace_with=$args[$args_i];
|
||||||
|
|
||||||
$start=0;
|
$start=0;
|
||||||
$left_len=strlen($left);
|
$left_len=strlen($left);
|
||||||
$right_len=strlen($right);
|
$right_len=strlen($right);
|
||||||
|
@ -135,7 +185,18 @@ function myvesta_str_replace_between_including_borders($text, $left, $right, $re
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
function myvesta_str_strip_between_including_borders($text, $left, $right) {
|
function myvesta_str_strip_between_including_borders() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $left=$args[$args_i];
|
||||||
|
$args_i++; $right=$args[$args_i];
|
||||||
|
|
||||||
$left_len=strlen($left);
|
$left_len=strlen($left);
|
||||||
$right_len=strlen($right);
|
$right_len=strlen($right);
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -147,3 +208,43 @@ function myvesta_str_strip_between_including_borders($text, $left, $right) {
|
||||||
}
|
}
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function myvesta_str_find() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
$args_i++; $find=$args[$args_i];
|
||||||
|
|
||||||
|
$pos=strpos($text, $find);
|
||||||
|
if ($pos===false) return myvesta_throw_error (MYVESTA_ERROR_STRING_NOT_FOUND, "");
|
||||||
|
return $pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
function myvesta_str_uppercase() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
return strtoupper($text);
|
||||||
|
}
|
||||||
|
|
||||||
|
function myvesta_str_lowercase() {
|
||||||
|
global $myvesta_stdin;
|
||||||
|
$args=func_get_args();
|
||||||
|
$args_i=-1;
|
||||||
|
if ($myvesta_stdin!='') {
|
||||||
|
$text=$myvesta_stdin;
|
||||||
|
} else {
|
||||||
|
$args_i++; $text=$args[$args_i];
|
||||||
|
}
|
||||||
|
return strtolower($text);
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue