mirror of
https://github.com/friendica/friendica
synced 2025-04-25 01:50:11 +00:00
social bookmark API, oexchange enhancements
This commit is contained in:
parent
deeae7bdb5
commit
1c8e89bd03
2 changed files with 76 additions and 6 deletions
|
@ -922,3 +922,60 @@ function base64url_decode($s) {
|
|||
function cc_license() {
|
||||
return '<div class="cc-license">' . t('Shared content is covered by the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a> license.') . '</div>';
|
||||
}
|
||||
|
||||
if (!function_exists('str_getcsv')) {
|
||||
function str_getcsv($input, $delimiter = ',', $enclosure = '"', $escape = '\\', $eol = '\n') {
|
||||
if (is_string($input) && !empty($input)) {
|
||||
$output = array();
|
||||
$tmp = preg_split("/".$eol."/",$input);
|
||||
if (is_array($tmp) && !empty($tmp)) {
|
||||
while (list($line_num, $line) = each($tmp)) {
|
||||
if (preg_match("/".$escape.$enclosure."/",$line)) {
|
||||
while ($strlen = strlen($line)) {
|
||||
$pos_delimiter = strpos($line,$delimiter);
|
||||
$pos_enclosure_start = strpos($line,$enclosure);
|
||||
if (
|
||||
is_int($pos_delimiter) && is_int($pos_enclosure_start)
|
||||
&& ($pos_enclosure_start < $pos_delimiter)
|
||||
) {
|
||||
$enclosed_str = substr($line,1);
|
||||
$pos_enclosure_end = strpos($enclosed_str,$enclosure);
|
||||
$enclosed_str = substr($enclosed_str,0,$pos_enclosure_end);
|
||||
$output[$line_num][] = $enclosed_str;
|
||||
$offset = $pos_enclosure_end+3;
|
||||
} else {
|
||||
if (empty($pos_delimiter) && empty($pos_enclosure_start)) {
|
||||
$output[$line_num][] = substr($line,0);
|
||||
$offset = strlen($line);
|
||||
} else {
|
||||
$output[$line_num][] = substr($line,0,$pos_delimiter);
|
||||
$offset = (
|
||||
!empty($pos_enclosure_start)
|
||||
&& ($pos_enclosure_start < $pos_delimiter)
|
||||
)
|
||||
?$pos_enclosure_start
|
||||
:$pos_delimiter+1;
|
||||
}
|
||||
}
|
||||
$line = substr($line,$offset);
|
||||
}
|
||||
} else {
|
||||
$line = preg_split("/".$delimiter."/",$line);
|
||||
|
||||
/*
|
||||
* Validating against pesky extra line breaks creating false rows.
|
||||
*/
|
||||
if (is_array($line) && !empty($line[0])) {
|
||||
$output[$line_num] = $line;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $output;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue