first commit
This commit is contained in:
126
plugins/annotate/hooks/all.php
Normal file
126
plugins/annotate/hooks/all.php
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
|
||||
function HookAnnotateAllInitialise()
|
||||
{
|
||||
global $annotate_resource_type_field;
|
||||
config_register_core_fieldvars("Annotate plugin",['annotate_resource_type_field']);
|
||||
}
|
||||
|
||||
function HookAnnotateAllModifyselect()
|
||||
{
|
||||
return " ,r.annotation_count ";
|
||||
}
|
||||
|
||||
function HookAnnotateAllRemoveannotations()
|
||||
{
|
||||
global $ref;
|
||||
|
||||
ps_query("DELETE FROM annotate_notes WHERE ref = ?",["i",$ref]);
|
||||
ps_query("UPDATE resource SET annotation_count=0 WHERE ref = ?",["i",$ref]);
|
||||
}
|
||||
|
||||
function HookAnnotateAllRender_actions_add_collection_option($top_actions, array $options, $collection_data, array $urlparams){
|
||||
global $lang,$pagename,$annotate_pdf_output,$annotate_pdf_output_only_annotated,$baseurl,$collection,$count_result;
|
||||
|
||||
// Make sure this check takes place before $GLOBALS["hook_return_value"] can be unset by subsequent calls to hook()
|
||||
if(isset($GLOBALS["hook_return_value"]) && is_array($GLOBALS["hook_return_value"]))
|
||||
{
|
||||
// @see hook() for an explanation about the hook_return_value global
|
||||
$options = $GLOBALS["hook_return_value"];
|
||||
}
|
||||
|
||||
if ($annotate_pdf_output || $count_result!=0){
|
||||
$annotate_option = array(
|
||||
"value" => "annotate",
|
||||
"label" => $lang["pdfwithnotes"],
|
||||
"data_attr" => array(
|
||||
"url" => generateURL(
|
||||
"{$baseurl}/plugins/annotate/pages/annotate_pdf_config.php",
|
||||
$urlparams,
|
||||
array(
|
||||
"col" => $collection,
|
||||
)),
|
||||
),
|
||||
);
|
||||
$options[] = $annotate_option;
|
||||
|
||||
return $options;
|
||||
}
|
||||
}
|
||||
function HookAnnotateAllAdditionalheaderjs(){
|
||||
global $baseurl,$k,$baseurl_short,$css_reload_key;
|
||||
?>
|
||||
<link rel="stylesheet" type="text/css" media="screen,projection,print" href="<?php echo $baseurl_short?>plugins/annotate/lib/jquery/css/annotation.css?css_reload_key=<?php echo $css_reload_key?>"/>
|
||||
|
||||
<script type="text/javascript" src="<?php echo $baseurl_short?>plugins/annotate/lib/jquery/js/jquery.annotate.js?css_reload_key=<?php echo $css_reload_key?>"></script>
|
||||
<script language="javascript">
|
||||
function annotate(ref, k, imgElement, annotate_toggle, page, modal){
|
||||
|
||||
//Determine displayed (potentially scaled) image dimensions
|
||||
w = imgElement.offsetWidth;
|
||||
h = imgElement.offsetHeight;
|
||||
|
||||
// Prevent duplication of image if loading is interrupted:
|
||||
var canvasExists = document.getElementsByClassName("image-annotate-canvas");
|
||||
if (canvasExists.length != 0)
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
// Set function's optional arguments:
|
||||
page = typeof page !== 'undefined' ? page : 1;
|
||||
modal = typeof modal !== 'undefined' ? modal : false;
|
||||
|
||||
// Set defaults:
|
||||
var url_params = '';
|
||||
|
||||
if(page != 1)
|
||||
{
|
||||
url_params = '&page=' + page;
|
||||
}
|
||||
|
||||
var target = jQuery("#toAnnotate");
|
||||
if(modal)
|
||||
{
|
||||
target = jQuery("#modal #toAnnotate");
|
||||
}
|
||||
|
||||
target.annotateImage({
|
||||
getUrl: "<?php echo $baseurl_short?>plugins/annotate/pages/get.php?ref="+ref+"&k="+k+"&pw="+w+"&ph="+h + url_params,
|
||||
saveUrl: "<?php echo $baseurl_short?>plugins/annotate/pages/save.php?ref="+ref+"&k="+k+"&pw="+w+"&ph="+h + url_params,
|
||||
deleteUrl: "<?php echo $baseurl_short?>plugins/annotate/pages/delete.php?ref="+ref+"&k="+k + url_params,
|
||||
useAjax: true,
|
||||
<?php
|
||||
if ($k=="")
|
||||
{?>
|
||||
editable: true,
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{ ?>
|
||||
editable: false,
|
||||
<?php
|
||||
} ?>
|
||||
toggle: annotate_toggle,
|
||||
modal: modal,
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<?php }
|
||||
|
||||
function HookAnnotateAllExport_add_tables()
|
||||
{
|
||||
return array("annotate_notes"=>array());
|
||||
}
|
||||
|
||||
function HookAnnotateAllEdithidefield($field)
|
||||
{
|
||||
global $annotate_resource_type_field;
|
||||
if(isset($field["ref"]) && $field["ref"] == $annotate_resource_type_field)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
123
plugins/annotate/hooks/preview.php
Normal file
123
plugins/annotate/hooks/preview.php
Normal file
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
function HookAnnotatePreviewReplacepreviewbacktoview(){
|
||||
global $baseurl,$lang,$ref,$search,$offset,$order_by,$sort,$archive,$k;
|
||||
|
||||
$urlparams = array(
|
||||
"annotate" => (getval("annotate","") == "true" ? "true" : ""),
|
||||
"ref" => $ref,
|
||||
"search" => $search,
|
||||
"offset" => $offset,
|
||||
"order_by" => $order_by,
|
||||
"sort" => $sort,
|
||||
"archive" => $archive,
|
||||
"k" => $k,
|
||||
);
|
||||
?>
|
||||
<p style="margin:7px 0 7px 0;padding:0;"><a class="enterLink" href="<?php echo generateURL($baseurl . "/pages/view.php", $urlparams); ?>"><?php echo LINK_CARET_BACK ?><?php echo escape($lang["backtoresourceview"]); ?></a>
|
||||
<?php return true;
|
||||
}
|
||||
|
||||
function HookAnnotatePreviewPreviewimage2 (){
|
||||
global $ajax,$ext,$baseurl,$ref,$k,$search,$offset,$order_by,$sort,$archive,$lang,
|
||||
$download_multisize,$baseurl_short,$url,$annotate_ext_exclude,
|
||||
$annotate_rt_exclude,$annotate_public_view,$annotate_pdf_output,$nextpage,
|
||||
$previouspage, $alternative, $view_title_field;
|
||||
|
||||
$resource=get_resource_data($ref);
|
||||
$size = resource_download_allowed($resource['ref'], 'scr', $resource['resource_type']) ? ['scr'] : ['pre'];
|
||||
$preview_path = get_resource_preview($resource, $size);
|
||||
if($preview_path !== false) {
|
||||
$preview_path = $preview_path['path'];
|
||||
}
|
||||
$path_orig = resource_download_allowed($resource['ref'], '', $resource['resource_type']) ? get_resource_path($resource['ref'], true, '') : $preview_path;
|
||||
|
||||
if($preview_path === false && ($path_orig === false || trim($path_orig) == '')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (in_array($resource['file_extension'],$annotate_ext_exclude)){return false;}
|
||||
if (in_array($resource['resource_type'],$annotate_rt_exclude)){return false;}
|
||||
|
||||
if ($k != "" && !$annotate_public_view) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!file_exists($preview_path) && !file_exists($path_orig)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
button_ok = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["ok"])) ?>";
|
||||
button_cancel = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["cancel"])) ?>";
|
||||
button_delete = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-delete"])) ?>";
|
||||
button_add = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-add_note"])) ?>";
|
||||
button_toggle = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-toggle-on"])) ?>";
|
||||
button_toggle_off = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-toggle-off"])) ?>";
|
||||
error_saving = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["error-saving"])) ?>";
|
||||
error_deleting = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["error-deleting"])) ?>";
|
||||
</script>
|
||||
<script>
|
||||
jQuery.noConflict();
|
||||
</script>
|
||||
|
||||
<div id="wrapper" style="display:block;clear:none;float:left;margin: 0px;">
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<?php
|
||||
|
||||
$urlparams = array(
|
||||
"ref" => $ref,
|
||||
"alternative" => $alternative,
|
||||
"ext" => $ext,
|
||||
"search" => $search,
|
||||
"offset" => $offset,
|
||||
"order_by" => $order_by,
|
||||
"sort" => $sort,
|
||||
"archive" => $archive,
|
||||
"k" => $k
|
||||
);
|
||||
|
||||
if($resource['file_extension'] != "jpg" && $previouspage != -1 && resource_download_allowed($ref, "scr", $resource["resource_type"])) { ?>
|
||||
<td valign="middle">
|
||||
<a onClick="return CentralSpaceLoad(this);" href="<?php echo generateURL($baseurl_short . "pages/preview.php", $urlparams,array("page" => $previouspage)); ?>" class="PDFnav pagePrev"><</a>
|
||||
</td>
|
||||
<?php
|
||||
} elseif($nextpage !=-1 && resource_download_allowed($ref, "scr", $resource["resource_type"])) { ?>
|
||||
<td valign="middle">
|
||||
<a href="#" class="PDFnav pagePrev"> </a>
|
||||
</td>
|
||||
<?php
|
||||
} ?>
|
||||
<div>
|
||||
<td>
|
||||
<img alt="<?php echo escape(i18n_get_translated($resource['field'.$view_title_field] ?? ""));?>"
|
||||
alt="" id="toAnnotate" onload="annotate(<?php echo (int)$ref?>,'<?php echo escape($k)?>',this ,<?php echo escape(getval("annotate_toggle",true))?>,<?php echo (int) getval('page', 1); ?>, false);" src="<?php echo escape($url)?>" id="previewimage" class="Picture" GALLERYIMG="no" style="display:block;" />
|
||||
</td>
|
||||
<?php
|
||||
if($nextpage != -1 && resource_download_allowed($ref, "scr", $resource["resource_type"])) { ?>
|
||||
<td valign="middle">
|
||||
<a onClick="return CentralSpaceLoad(this);" href="<?php echo generateURL($baseurl_short . "pages/preview.php", $urlparams, array("page" => $nextpage)); ?>" class="PDFnav pageNext">></a>
|
||||
</td>
|
||||
<?php
|
||||
} ?>
|
||||
</div>
|
||||
|
||||
<div style="padding-top:5px;">
|
||||
|
||||
<?php if ($annotate_pdf_output){?>
|
||||
<a style="display:inline;float:right;margin-right:10px;" href="<?php echo generateURL($baseurl. '/plugins/annotate/pages/annotate_pdf_config.php?', $urlparams, ['ext' => $resource["preview_extension"]])?>" >> <?php echo escape($lang["pdfwithnotes"])?></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</tr></table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
54
plugins/annotate/hooks/search.php
Normal file
54
plugins/annotate/hooks/search.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
function HookAnnotateSearchIcons($collections = false)
|
||||
{
|
||||
global $baseurl, $k, $search, $archive, $sort, $offset, $order_by, $result, $n, $lang, $k, $annotate_public_view;
|
||||
|
||||
if ($k != '' && !$annotate_public_view) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_array($result))
|
||||
{
|
||||
?>
|
||||
<div class="clearerleft"></div>
|
||||
<div class="ResourcePanelInfo">
|
||||
<span class="IconUserRatingSpace"></span>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!$collections && isset($result[$n]) && isset($result[$n]['annotation_count']) && null != $result[$n]['annotation_count'] && 0 != $result[$n]['annotation_count'] && 'pdf' != $result[$n]['file_extension'])
|
||||
{
|
||||
?>
|
||||
<div class="clearerleft"></div>
|
||||
<div class="ResourcePanelInfo">
|
||||
<span class="IconUserRatingSpace" style="width:0px;"></span>
|
||||
<img alt="" src="<?php echo $baseurl?>/plugins/annotate/lib/jquery/images/asterisk_yellow.png" height="10"/>
|
||||
<a href="<?php echo generateURL($baseurl . '/pages/view.php', ['annotate' => true, 'ref' => $result[$n]['ref'], 'k' => $k, 'search' => $search, 'offset' => $offset, 'order_by' => $order_by, 'sort' => $sort, 'archive' => $archive])?>" onClick="return CentralSpaceLoad(this,true);"><?php echo escape($result[$n]['annotation_count']==1 ? $lang["note-1"] : str_replace("%number", $result[$n]['annotation_count'], $lang["note-2"])); ?></a>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<div class="clearerleft"></div>
|
||||
<div class="ResourcePanelInfo">
|
||||
<span class="IconUserRatingSpace"></span>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
function HookAnnotateSearchThumbs_resourceshell_height()
|
||||
{
|
||||
global $baseurl, $k, $search, $archive, $sort, $offset, $order_by, $result, $n, $lang, $k, $annotate_public_view, $thumbs_displayed_fields_height, $field_height;
|
||||
|
||||
if(!('' != $k && !$annotate_public_view))
|
||||
{
|
||||
$thumbs_displayed_fields_height = $thumbs_displayed_fields_height + $field_height;
|
||||
}
|
||||
|
||||
}
|
132
plugins/annotate/hooks/view.php
Normal file
132
plugins/annotate/hooks/view.php
Normal file
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
function HookAnnotateViewRenderinnerresourcepreview()
|
||||
{
|
||||
global $baseurl_short, $ajax, $ref, $ffmpeg_preview_extension, $resource, $k,
|
||||
$search, $offset, $order_by, $sort, $archive, $lang, $download_multisize,
|
||||
$baseurl, $annotate_ext_exclude, $annotate_rt_exclude, $annotate_public_view,
|
||||
$annotate_pdf_output, $ffmpeg_audio_extensions, $view_title_field, $retina_mode, $resource_view_use_pre, $access;
|
||||
|
||||
if(in_array($resource['file_extension'], $annotate_ext_exclude))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(in_array($resource['resource_type'], $annotate_rt_exclude))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($k != '' && !$annotate_public_view) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$video_preview_file = get_resource_path($ref, true, 'pre', false, $ffmpeg_preview_extension);
|
||||
|
||||
if(file_exists($video_preview_file))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(in_array($resource['file_extension'], $ffmpeg_audio_extensions) || $resource['file_extension'] == "mp3")
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if((int) $resource['has_image'] !== RESOURCE_PREVIEWS_NONE)
|
||||
{
|
||||
?>
|
||||
<script>
|
||||
button_ok = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["ok"])) ?>";
|
||||
button_cancel = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["cancel"])) ?>";
|
||||
button_delete = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-delete"])) ?>";
|
||||
button_add = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-add_note"])) ?>";
|
||||
button_toggle = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-toggle-on"])) ?>";
|
||||
button_toggle_off = "> <?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["action-toggle-off"])) ?>";
|
||||
error_saving = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["error-saving"])) ?>";
|
||||
error_deleting = "<?php echo preg_replace("/\r?\n/", "\\n", addslashes($lang["error-deleting"])) ?>";
|
||||
|
||||
jQuery.noConflict();
|
||||
</script>
|
||||
<?php
|
||||
$use_watermark = check_use_watermark();
|
||||
$use_size = (($retina_mode || !$resource_view_use_pre) && $access === 0) ? 'scr' : 'pre';
|
||||
$imagepath = get_resource_path($ref, true, $use_size, false, $resource['preview_extension'], -1, 1, $use_watermark);
|
||||
|
||||
if(!file_exists($imagepath))
|
||||
{
|
||||
$use_size = 'thm';
|
||||
$imagepath=get_resource_path($ref,true, $use_size,false,$resource["preview_extension"],-1,1,$use_watermark);
|
||||
$imageurl=get_resource_path($ref,false, $use_size,false,$resource["preview_extension"],-1,1,$use_watermark);
|
||||
}
|
||||
else
|
||||
{
|
||||
$imageurl=get_resource_path($ref,false, $use_size,false,$resource["preview_extension"],-1,1,$use_watermark);
|
||||
}
|
||||
|
||||
if(resource_has_access_denied_by_RT_size($resource['resource_type'], $use_size))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!file_exists($imagepath))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(file_exists($imagepath))
|
||||
{
|
||||
$modal = (getval("modal", "") == "true" ? "true" : "false");
|
||||
?>
|
||||
<div id="wrapper" class="annotate-view-wrapper">
|
||||
<div>
|
||||
<img alt="<?php echo escape(i18n_get_translated($resource['field'.$view_title_field] ?? ""));?>"
|
||||
id="toAnnotate" onload="annotate(<?php echo (int) $ref?>,'<?php echo escape($k)?>', this, <?php echo escape(getval("annotate_toggle",true))?>, 1, <?php echo escape($modal); ?>);" src="<?php echo escape($imageurl . "&iaccept=on")?>" id="previewimage" class="Picture" GALLERYIMG="no" style="display:block;" />
|
||||
</div>
|
||||
|
||||
<div class="annotate-view-preview-links" >
|
||||
<?php
|
||||
$urlparams = array(
|
||||
"annotate" => (getval("annotate","") == "true" ? "true" : ""),
|
||||
"ref" => $ref,
|
||||
"ext" => $resource["preview_extension"],
|
||||
"search" => $search,
|
||||
"offset" => $offset,
|
||||
"order_by" => $order_by,
|
||||
"sort" => $sort,
|
||||
"archive" => $archive,
|
||||
"k" => $k
|
||||
); ?>
|
||||
|
||||
<a class="enterLink" href="<?php echo generateURL($baseurl_short . "pages/preview.php", $urlparams); ?>" title="<?php echo escape($lang["fullscreenpreview"])?>"><?php echo LINK_CARET . escape($lang["fullscreenpreview"])?></a>
|
||||
<?php
|
||||
|
||||
if($annotate_pdf_output)
|
||||
{
|
||||
?>
|
||||
<a style="display:inline;float:right;" class="nowrap" href="<?php echo generateURL($baseurl_short . 'plugins/annotate/pages/annotate_pdf_config.php', $urlparams)?>" onClick="return CentralSpaceLoad(this);"><?php echo LINK_CARET . $lang["pdfwithnotes"]; ?></a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<div id="previewimagewrapper">
|
||||
<?php echo get_nopreview_html((string) $resource["file_extension"], $resource["resource_type"]); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function HookAnnotateViewpreviewlinkbar()
|
||||
{
|
||||
// Remove View links from drop down on view page.
|
||||
// Annotate plugin will add "Full screen preview" link instead.
|
||||
return true;
|
||||
}
|
Reference in New Issue
Block a user