Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elphel-web-393
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
elphel-web-393
Commits
bd862e51
Commit
bd862e51
authored
Dec 02, 2016
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
too many 'include'
parent
dc92d397
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
5 additions
and
193 deletions
+5
-193
eyesis4pi_interface.php
src/eyesis4pi/eyesis4pi_interface.php
+3
-0
Makefile
src/php_top/Makefile
+2
-2
include_parallel_requests.php
src/php_top/include_parallel_requests.php
+0
-90
include_response.php
src/php_top/include_response.php
+0
-101
No files found.
src/eyesis4pi/eyesis4pi_interface.php
View file @
bd862e51
...
@@ -20,6 +20,8 @@
...
@@ -20,6 +20,8 @@
*! --------------------------------------------------------------------------
*! --------------------------------------------------------------------------
*/
*/
include
'include/response.php'
;
$cmd
=
"donothing"
;
$cmd
=
"donothing"
;
if
(
isset
(
$_GET
[
'cmd'
]))
if
(
isset
(
$_GET
[
'cmd'
]))
$cmd
=
$_GET
[
'cmd'
];
$cmd
=
$_GET
[
'cmd'
];
...
@@ -41,6 +43,7 @@ switch($cmd){
...
@@ -41,6 +43,7 @@ switch($cmd){
}
else
{
}
else
{
if
(
is_dir
(
$mountpoint
))
$res
=
disk_free_space
(
$mountpoint
);
if
(
is_dir
(
$mountpoint
))
$res
=
disk_free_space
(
$mountpoint
);
else
$res
=
0
;
else
$res
=
0
;
respond_xml
(
$res
);
}
}
break
;
break
;
default
:
default
:
...
...
src/php_top/Makefile
View file @
bd862e51
...
@@ -21,8 +21,8 @@ PHP_SCRIPTS=i2c.php \
...
@@ -21,8 +21,8 @@ PHP_SCRIPTS=i2c.php \
PHPINCLUDES
=
i2c_include.php
\
PHPINCLUDES
=
i2c_include.php
\
show_source_include.php
\
show_source_include.php
\
include_
parallel_requests.php
\
parallel_requests.php
\
include_
response.php
response.php
all
:
all
:
@
echo
"make all in src"
@
echo
"make all in src"
...
...
src/php_top/include_parallel_requests.php
deleted
100644 → 0
View file @
dc92d397
<?php
/*!***************************************************************************
*! FILE NAME : parallel_requests.php
*! DESCRIPTION: send out parallel url requests and collect responses
*! Copyright (C) 2016 Elphel, Inc
*! -----------------------------------------------------------------------------**
*!
*! This program is free software: you can redistribute it and/or modify
*! it under the terms of the GNU General Public License as published by
*! the Free Software Foundation, either version 3 of the License, or
*! (at your option) any later version.
*!
*! This program is distributed in the hope that it will be useful,
*! but WITHOUT ANY WARRANTY; without even the implied warranty of
*! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*! GNU General Public License for more details.
*!
*! You should have received a copy of the GNU General Public License
*! along with this program. If not, see <http://www.gnu.org/licenses/>.
*! -----------------------------------------------------------------------------**
*/
// Using parallel requests, PHP has to be configured '--with-curl=' (and libcurl should be installed)
function
curl_multi_start
(
$urls
)
{
// numprime is needed to actually send the request and remote starts executing it
// Not really clear - what it should be
$numprime
=
4
;
// magic number, see http://lampe2e.blogspot.com/2015/03/making-stuff-faster-with-curlmultiexec.html
$curl_mh
=
curl_multi_init
();
$aCurlHandles
=
array
();
foreach
(
$urls
as
$url
)
{
$ch
=
curl_init
();
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
1
);
curl_setopt
(
$ch
,
CURLOPT_HEADER
,
0
);
$aCurlHandles
[]
=
$ch
;
curl_multi_add_handle
(
$curl_mh
,
$ch
);
}
$curl_active
=
count
(
$urls
);
for
(
$x
=
0
;
$x
<
$numprime
&&
$curl_active
;
$x
++
)
{
curl_multi_exec
(
$curl_mh
,
$curl_active
);
// we wait for a bit to allow stuff TCP handshakes to complete and so forth...
usleep
(
10000
);
// echo ".";
}
return
array
(
"mh"
=>
$curl_mh
,
"handles"
=>
$aCurlHandles
);
}
function
curl_multi_finish
(
$data
,
$use_xml
=
true
,
$ntry
=
0
,
$echo
=
false
)
{
$curl_active
=
1
;
$curl_mrc
=
CURLM_OK
;
$nrep
=
0
;
$curl_mh
=
$data
[
'mh'
];
while
(
$curl_active
&&
$curl_mrc
==
CURLM_OK
)
{
if
(
curl_multi_select
(
$curl_mh
)
!=
-
1
)
{
do
{
$curl_mrc
=
curl_multi_exec
(
$curl_mh
,
$curl_active
);
}
while
(
$curl_mrc
==
CURLM_CALL_MULTI_PERFORM
);
}
if
(
$echo
)
echo
colorize
(
"
$curl_active
"
,
'YELLOW'
,
1
);
$nrep
++
;
if
(
$ntry
&&
(
$nrep
>
$ntry
))
{
break
;
}
}
$results
=
array
();
if
(
$use_xml
)
{
foreach
(
$data
[
'handles'
]
as
$i
=>
$ch
)
{
$xml
=
simplexml_load_string
(
curl_multi_getcontent
(
$ch
));
curl_multi_remove_handle
(
$curl_mh
,
$ch
);
$results
[
$i
]
=
array
();
foreach
(
$xml
as
$tag
=>
$value
)
{
$svalue
=
(
string
)
$value
;
if
(
strlen
(
$svalue
)
>
0
)
{
if
(
$svalue
[
0
]
==
'"'
)
$results
[
$i
][
$tag
]
=
trim
(
$svalue
,
'"'
);
else
$results
[
$i
][
$tag
]
=
(
int
)
$svalue
;
}
}
}
}
else
{
foreach
(
$data
[
'handles'
]
as
$i
=>
$ch
)
{
$r
=
curl_multi_getcontent
(
$ch
);
curl_multi_remove_handle
(
$curl_mh
,
$ch
);
$results
[]
=
$r
;
}
}
curl_multi_close
(
$curl_mh
);
return
$results
;
}
?>
src/php_top/include_response.php
deleted
100644 → 0
View file @
dc92d397
<?php
/*
*!***************************************************************************
*! FILE NAME : include_response.php
*! DESCRIPTION: http requests response functions
*! Copyright (C) 2016 Elphel, Inc.
*! --------------------------------------------------------------------------
*! This program is free software: you can redistribute it and/or modify
*! it under the terms of the GNU General Public License as published by
*! the Free Software Foundation, either version 3 of the License, or
*! (at your option) any later version.
*!
*! This program is distributed in the hope that it will be useful,
*! but WITHOUT ANY WARRANTY; without even the implied warranty of
*! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*! GNU General Public License for more details.
*!
*! You should have received a copy of the GNU General Public License
*! along with this program. If not, see <http://www.gnu.org/licenses/>.
*! --------------------------------------------------------------------------
*/
function
get_uptime
(){
exec
(
'cat /proc/uptime'
,
$output
,
$retval
);
return
floatval
(
explode
(
" "
,
trim
(
$output
[
0
]))[
0
]);
}
//printf("%08.2f\n",$f);
function
log_open
(){
$GLOBALS
[
'logFile'
]
=
fopen
(
$GLOBALS
[
'logFilePath'
],
"a"
);
}
/** Log message and optionally print to console */
function
log_msg
(
$msg
,
///< message to print
$mode
=
-
1
)
///< -1 - print only short messages, 0 - never print, 1 - always print, 2 print in bold red (error), 3 - bold white, 4 - bold yellow (warning)
{
// do not output log when in HTTP request mode
$ut
=
get_uptime
();
if
((
$mode
!=
0
)
&&
!
array_key_exists
(
'REQUEST_METHOD'
,
$_SERVER
)
&&
((
$mode
>
0
)
||
(
strlen
(
$msg
)
<
$GLOBALS
[
'LOG_MAX_ECHO'
])))
{
switch
(
$mode
)
{
case
2
:
$emsg
=
colorize
(
$msg
,
'RED'
,
1
);
// bold red
break
;
case
3
:
$emsg
=
colorize
(
$msg
,
''
,
1
);
// bold white
break
;
case
4
:
$emsg
=
colorize
(
$msg
,
'YELLOW'
,
1
);
// bold white
break
;
default
:
$emsg
=
$msg
;
}
printf
(
colorize
(
sprintf
(
"[%8.2f] autocampars: "
,
$ut
),
"GREEN"
,
0
)
.
$emsg
.
"
\n
"
);
}
fwrite
(
$GLOBALS
[
'logFile'
],
sprintf
(
"%08.2f autocampars: %s
\n
"
,
$ut
,
$msg
));
// date ("F j, Y, G:i:s")
}
function
log_error
(
$msg
)
{
log_msg
(
$msg
,
2
);
log_close
();
exit
(
1
);
}
function
log_close
()
{
log_msg
(
"Log file saved as "
.
$GLOBALS
[
'logFilePath'
],
3
);
log_msg
(
"----------------------------------------------"
,
0
);
fclose
(
$GLOBALS
[
'logFile'
]);
unset
(
$GLOBALS
[
'logFile'
]);
// to catch errors
}
/** Closes log file, optianally responxds with XML (if in HTTP mode), exits with 0/1 */
function
respond_xml
(
$result
,
$error
=
null
,
$color_mode
=
3
){
// default white bold
if
(
array_key_exists
(
'REQUEST_METHOD'
,
$_SERVER
)){
$xml
=
new
SimpleXMLElement
(
"<?xml version='1.0' standalone='yes'?><autocampars/>"
);
if
(
$result
!==
""
){
//"" will not be loged/output
if
(
is_string
(
$result
)
&&
((
count
(
$result
)
==
0
)
||
(
$result
[
0
]
!=
'"'
))){
$result
=
'"'
.
$result
.
'"'
;
}
$xml
->
addChild
(
'result'
,
$result
);
}
if
(
$error
){
$xml
->
addChild
(
'error'
,
'"'
.
$error
.
'"'
);
}
$rslt
=
$xml
->
asXML
();
header
(
"Content-Type: text/xml"
);
header
(
"Content-Length: "
.
strlen
(
$rslt
)
.
"
\n
"
);
header
(
"Pragma: no-cache
\n
"
);
printf
(
$rslt
);
}
if
(
isset
(
$GLOBALS
[
'logFile'
])){
if
(
$result
!==
""
){
//"" will not be loged/output
log_msg
(
''
.
$result
,
$color_mode
);
}
if
(
$error
){
log_error
(
$error
);
}
else
{
log_close
();
exit
(
0
);
}
}
}
?>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment