Merge branch 'dev' into sabre32
This commit is contained in:
@@ -618,7 +618,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||
);
|
||||
if($r) {
|
||||
$overwrite = get_pconfig($channel_id,'system','overwrite_dup_files');
|
||||
if($overwrite) {
|
||||
if(($overwrite) || ($options === 'import')) {
|
||||
$options = 'replace';
|
||||
$existing_id = $x[0]['id'];
|
||||
$existing_size = intval($x[0]['filesize']);
|
||||
@@ -802,7 +802,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
||||
|
||||
if($is_photo) {
|
||||
|
||||
$args = array( 'source' => $source, 'visible' => $visible, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct);
|
||||
$args = array( 'source' => $source, 'visible' => $visible, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct, 'options' => $options );
|
||||
if($arr['contact_allow'])
|
||||
$args['contact_allow'] = $arr['contact_allow'];
|
||||
if($arr['group_allow'])
|
||||
|
||||
@@ -1992,14 +1992,7 @@ function get_site_info() {
|
||||
else
|
||||
$service_class = false;
|
||||
|
||||
$visible_plugins = array();
|
||||
if(is_array(App::$plugins) && count(App::$plugins)) {
|
||||
$r = q("select * from addon where hidden = 0");
|
||||
if(count($r))
|
||||
foreach($r as $rr)
|
||||
$visible_plugins[] = $rr['aname'];
|
||||
}
|
||||
sort($visible_plugins);
|
||||
$visible_plugins = visible_plugin_list();
|
||||
|
||||
if(@is_dir('.git') && function_exists('shell_exec'))
|
||||
$commit = trim(@shell_exec('git log -1 --format="%h"'));
|
||||
|
||||
@@ -167,6 +167,12 @@ function reload_plugins() {
|
||||
}
|
||||
}
|
||||
|
||||
function visible_plugin_list() {
|
||||
$r = q("select * from addon where hidden = 0 order by aname asc");
|
||||
return(($r) ? ids_to_array($r,'aname') : array());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief registers a hook.
|
||||
|
||||
@@ -2050,7 +2050,7 @@ function ids_to_array($arr,$idx = 'id') {
|
||||
$t = array();
|
||||
if($arr) {
|
||||
foreach($arr as $x) {
|
||||
if(! in_array($x[$idx],$t)) {
|
||||
if(array_key_exists($idx,$x) && strlen($x[$idx]) && (! in_array($x[$idx],$t))) {
|
||||
$t[] = $x[$idx];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,7 +347,7 @@ function wiki_revert_page($arr) {
|
||||
$resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
|
||||
$commitHash = ((array_key_exists('commitHash',$arr)) ? $arr['commitHash'] : null);
|
||||
if (! $commitHash) {
|
||||
return array('content' => $content, 'message' => 'No commit has provided', 'success' => false);
|
||||
return array('content' => $content, 'message' => 'No commit was provided', 'success' => false);
|
||||
}
|
||||
$w = wiki_get_wiki($resource_id);
|
||||
if (!$w['path']) {
|
||||
@@ -378,6 +378,48 @@ function wiki_revert_page($arr) {
|
||||
}
|
||||
}
|
||||
|
||||
function wiki_compare_page($arr) {
|
||||
$pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
|
||||
$resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
|
||||
$currentCommit = ((array_key_exists('currentCommit',$arr)) ? $arr['currentCommit'] : 'HEAD');
|
||||
$compareCommit = ((array_key_exists('compareCommit',$arr)) ? $arr['compareCommit'] : null);
|
||||
if (! $compareCommit) {
|
||||
return array('message' => 'No compare commit was provided', 'success' => false);
|
||||
}
|
||||
$w = wiki_get_wiki($resource_id);
|
||||
if (!$w['path']) {
|
||||
return array('message' => 'Error reading wiki', 'success' => false);
|
||||
}
|
||||
$page_path = $w['path'].'/'.$pageUrlName.'.md';
|
||||
if (is_readable($page_path) === true) {
|
||||
$reponame = ((array_key_exists('title', $w['wiki'])) ? urlencode($w['wiki']['title']) : 'repo');
|
||||
if($reponame === '') {
|
||||
$reponame = 'repo';
|
||||
}
|
||||
$git = new GitRepo('', null, false, $w['wiki']['title'], $w['path']);
|
||||
$compareContent = $currentContent = '';
|
||||
try {
|
||||
foreach ($git->git->tree($currentCommit) as $object) {
|
||||
if ($object['type'] == 'blob' && $object['file'] === $pageUrlName.'.md' ) {
|
||||
$currentContent = $git->git->cat->blob($object['hash']);
|
||||
}
|
||||
}
|
||||
foreach ($git->git->tree($compareCommit) as $object) {
|
||||
if ($object['type'] == 'blob' && $object['file'] === $pageUrlName.'.md' ) {
|
||||
$compareContent = $git->git->cat->blob($object['hash']);
|
||||
}
|
||||
}
|
||||
require_once('library/class.Diff.php');
|
||||
$diff = Diff::toTable(Diff::compare($currentContent, $compareContent));
|
||||
} catch (\PHPGit\Exception\GitException $e) {
|
||||
return array('message' => 'GitRepo error thrown', 'success' => false);
|
||||
}
|
||||
return array('diff' => $diff, 'message' => '', 'success' => true);
|
||||
} else {
|
||||
return array('message' => 'Page file not writable', 'success' => false);
|
||||
}
|
||||
}
|
||||
|
||||
function wiki_git_commit($arr) {
|
||||
$files = ((array_key_exists('files', $arr)) ? $arr['files'] : null);
|
||||
$all = ((array_key_exists('all', $arr)) ? $arr['all'] : false);
|
||||
|
||||
Reference in New Issue
Block a user