public function setItemInfo() { $va_access_values = caGetUserAccessValues($this->request); $pn_set_id = $this->request->getParameter('set_id', pInteger); $t_set = new ca_sets($pn_set_id); $this->view->setVar('set_id', $pn_set_id); $pn_set_item_id = $this->request->getParameter('set_item_id', pInteger); $t_set_item = new ca_set_items($pn_set_item_id); $va_set_item_info = array(); $va_items = $t_set->getItemIDs(array("checkAccess" => $va_access_values)); $pn_previous_id = ""; foreach ($va_items as $vn_item_id => $va_item_info) { if ($va_set_item_info["item_id"]) { $va_set_item_info["next_id"] = $vn_item_id; break; } if ($pn_set_item_id == $vn_item_id) { $va_set_item_info["previous_id"] = $pn_previous_id; $va_set_item_info["item_id"] = $vn_item_id; } $pn_previous_id = $vn_item_id; } $va_set_item_info["item_id"] = $t_set_item->get("item_id"); $va_reps = $t_set_item->getRepresentations(array("mediumlarge", "small"), null, array("return_with_access" => $va_access_values)); $va_rep = array_shift($va_rep); $this->view->setVar('t_object_representation', $t_rep = new ca_object_representations($va_rep['representation_id'])); $va_rep_display_info = caGetMediaDisplayInfo('cropped_gallery_media_overlay', $t_rep->getMediaInfo('media', 'INPUT', 'MIMETYPE')); $this->view->setVar('rep_display_version', $va_rep_display_info['display_version']); unset($va_display_info['display_version']); $va_rep_display_info['poster_frame_url'] = $t_rep->getMediaUrl('media', $va_rep_display_info['poster_frame_version']); unset($va_display_info['poster_frame_version']); $this->view->setVar('rep_display_options', $va_rep_display_info); $va_set_item_info["info"] = $va_rep['info']; $va_set_item_info["label"] = $t_set_item->getLabelForDisplay(); $va_set_item_info["description"] = $t_set_item->get($this->opo_plugin_config->get('set_description_element_code'), array('convertLineBreaks' => true)); $va_set_item_info["item_description"] = $t_set_item->get($this->opo_plugin_config->get('set_item_description_element_code'), array('convertLineBreaks' => true)); $va_set_item_info["row_id"] = $t_set_item->get("row_id"); $va_set_item_info["lesson"] = $t_set_item->get('set_item_description'); $t_object = new ca_objects($t_set_item->get("row_id")); $va_set_item_info["object_label"] = $t_object->getLabelForDisplay(); $this->view->setVar('item_info', $va_set_item_info); $this->render($this->ops_theme . '/ajax_item_info_html.php'); }
public function getSetItemRep() { $pn_set_id = $this->request->getParameter('set_id', pInteger); $t_set = new ca_sets($pn_set_id); $t_set->load($pn_set_id); $va_set_items = caExtractValuesByUserLocale($t_set->getItems(array("thumbnailVersions" => array("icon"), "checkAccess" => $this->opa_access_values))); $this->view->setVar("set_id", $pn_set_id); $pn_item_id = $this->request->getParameter('item_id', pInteger); $t_rep = new ca_object_representations($va_set_items[$pn_item_id]["representation_id"]); $va_rep_info = $t_rep->getMediaInfo("media", "mediumlarge"); $this->view->setVar("rep", $t_rep->getMediaTag("media", "mediumlarge")); $this->view->setVar("repToolBar", caRepToolbar($this->request, $t_rep, $va_set_items[$pn_item_id]["row_id"])); $this->view->setVar("representation_id", $va_set_items[$pn_item_id]["representation_id"]); $this->view->setVar("object_id", $va_set_items[$pn_item_id]["row_id"]); $pn_previous_id = 0; $pn_next_id = 0; $va_set_item_ids = array_keys($va_set_items); $vn_current_index = array_search($pn_item_id, $va_set_item_ids); if ($va_set_item_ids[$vn_current_index - 1]) { $pn_previous_id = $va_set_item_ids[$vn_current_index - 1]; } if ($va_set_item_ids[$vn_current_index + 1]) { $pn_next_id = $va_set_item_ids[$vn_current_index + 1]; } $this->view->setVar("next_item_id", $pn_next_id); $this->view->setVar("previous_item_id", $pn_previous_id); $this->render("Gallery/set_item_rep_html.php"); }
/** * Returns annotation type code for currently loaded representation * Type codes are based upon the mimetype of the representation's media as defined in the annotation_types.conf file * * If you pass the options $pn_representation_id parameter then the returned type is for the specified representation rather * than the currently loaded one. */ public function getAnnotationType($pn_representation_id = null) { if (!$pn_representation_id) { $t_rep = $this; } else { $t_rep = new ca_object_representations($pn_representation_id); } $va_media_info = $t_rep->getMediaInfo('media'); if (!isset($va_media_info['INPUT'])) { return null; } if (!isset($va_media_info['INPUT']['MIMETYPE'])) { return null; } $vs_mimetype = $va_media_info['INPUT']['MIMETYPE']; $o_type_config = Configuration::load($this->getAppConfig()->get('annotation_type_config')); $va_mappings = $o_type_config->getAssoc('mappings'); return $va_mappings[$vs_mimetype]; }
<div class='col-sm-12 col-md-12 col-lg-12'> <?php if ($vn_audio_rep_id) { $t_rep->load($vn_audio_rep_id); $va_annotations = $t_rep->getAnnotations(array("checkAccess" => $this->getVar("access_values"))); #print_r($va_annotations); print $t_rep->getMediaTag("media", $va_audio_media_display_info["display_version"], $va_audio_media_display_info, array("id" => "caPlayer")); } ?> <div id="detailTools"> <div class="detailTool detailToolRight"><span class="glyphicon glyphicon-share-alt"></span>{{{shareLink}}}</div><!-- end detailTool --> <?php print "<div class='detailTool'>"; if (caObjectsDisplayDownloadLink($this->request) && $vn_audio_rep_id) { # -- get version to download configured in media_display.conf $va_download_display_info = caGetMediaDisplayInfo('download', $t_rep->getMediaInfo('media', 'INPUT', 'MIMETYPE')); $vs_download_version = $va_download_display_info['display_version']; print caNavLink($this->request, " <span class='glyphicon glyphicon-download-alt'></span>", '', 'Detail', 'DownloadRepresentation', '', array('representation_id' => $t_rep->getPrimaryKey(), "object_id" => $t_object->get("object_id"), "download" => 1, "version" => $vs_download_version), array("title" => _t("Download"))) . " "; } print $vs_transcript_link; print "</div>"; ?> </div> <HR class="dark"/> </div><!-- end col --> </div><!-- end row --> <div class="row"> <div class='col-sm-12 col-md-6 col-lg-6'> {{{<unit relativeTo="ca_entities" restrictToRelationshipTypes="interviewer" delimiter=";"><H3>Interviewer:</H3><l>^ca_entities.preferred_labels.displayname</l></unit>}}} {{{<unit relativeTo="ca_entities" restrictToRelationshipTypes="interviewee" delimiter=";"><H3>Interviewee:</H3><l>^ca_entities.preferred_labels.displayname</l></unit>}}} {{{<unit relativeTo="ca_entities" restrictToRelationshipTypes="speaker" delimiter=";"><H3>Speaker:</H3><l>^ca_entities.preferred_labels.displayname</l></unit>}}}
/** * */ public function GetPageListAsJSON() { $pn_object_id = $this->request->getParameter('object_id', pInteger); $pn_representation_id = $this->request->getParameter('representation_id', pInteger); $ps_content_mode = $this->request->getParameter('content_mode', pString); $this->view->setVar('object_id', $pn_object_id); $this->view->setVar('representation_id', $pn_representation_id); $this->view->setVar('content_mode', $ps_content_mode); $t_rep = new ca_object_representations($pn_representation_id); $va_download_display_info = caGetMediaDisplayInfo('download', $t_rep->getMediaInfo('media', 'INPUT', 'MIMETYPE')); $vs_download_version = $va_download_display_info['display_version']; $this->view->setVar('download_version', $vs_download_version); $va_page_list_cache = $this->request->session->getVar('caDocumentViewerPageListCache'); $va_pages = $va_page_list_cache[$pn_object_id . '/' . $pn_representation_id]; if (!isset($va_pages)) { // Page cache not set? $this->postError(1100, _t('Invalid object/representation'), 'DetailController->GetPage'); return; } $va_section_cache = $this->request->session->getVar('caDocumentViewerSectionCache'); $this->view->setVar('pages', $va_pages); $this->view->setVar('sections', $va_section_cache[$pn_object_id . '/' . $pn_representation_id]); $this->view->setVar('is_searchable', MediaContentLocationIndexer::hasIndexing('ca_object_representations', $pn_representation_id)); $this->render('Details/object_representation_page_list_json.php'); }
} $vn_occurrence_id = $vo_result->get('ca_occurrences.occurrence_id'); $va_labels = $vo_result->getDisplayLabels($this->request); print "<div" . ($vs_class ? " class='{$vs_class}'" : "") . " style='clear:both;'>"; $t_occurrence->load($vn_occurrence_id); $vs_padding = 0; $va_related_objects_links = $t_occurrence->get("ca_objects_x_occurrences.relation_id", array("returnAsArray" => true)); if (sizeof($va_related_objects_links)) { $t_objects_x_occurrences = new ca_objects_x_occurrences(); foreach ($va_related_objects_links as $vn_relation_id) { $t_objects_x_occurrences->load($vn_relation_id); $va_reps = $t_objects_x_occurrences->get("ca_objects_x_occurrences.representation_list", array("returnAsArray" => true, 'idsOnly' => true)); if (is_array($va_reps)) { foreach ($va_reps as $vn_relation_id => $va_attr) { $t_rep = new ca_object_representations($va_attr['representation_list']); $va_info = $t_rep->getMediaInfo("media"); $vs_padding = round($va_info["thumbnail"]["HEIGHT"] / 2) - 7; print "<div class='occThumb'>" . $t_rep->getMediaTag('media', 'thumbnail') . "</div><!-- end occThumb -->"; break; } } break; } } print "<div style='padding-top:" . $vs_padding . "px;'>" . caNavLink($this->request, join($va_labels, "; "), '', 'Detail', 'Occurrence', 'Show', array('occurrence_id' => $vn_occurrence_id)); print ", " . $vo_result->get('ca_occurrences.type_id', array("convertCodesToDisplayText" => true)); if ($vo_result->get('ca_occurrences.blankWorksheet')) { print ", <span class='blankWorksheet' style='text-decoration:underline;'>Blank Worksheet*</span>"; } print "</div></div>\n"; $vn_i++;
<h1><?php print $t_set->getLabelForDisplay(); ?> </h1> <div id="caSetsSlideshow"> <?php if (is_array($va_items) && sizeof($va_items)) { $i = 1; $t_set_item = new ca_objects(); $t_rep = new ca_object_representations(); foreach ($va_items as $va_item) { $t_set_item->load($va_item["row_id"]); #print_r($va_item); $t_rep->load($t_set_item->getPrimaryRepresentationId()); $vs_image = $t_rep->getMediaTag("media", $vs_version); $va_media_info = $t_rep->getMediaInfo("media", $vs_version); # --- pad the top to center vertically if ($vn_public_display) { $vn_height = 450; } else { $vn_height = 600; } $vn_top_padding = round(($vn_height - $va_media_info["HEIGHT"]) / 2) . "px"; print "<div><div style='width:" . $va_media_info["WIDTH"] . "px; margin: 0px auto 0px auto; position:relative;'>"; print "<div style='padding-top: " . $vn_top_padding . "'>" . caNavLink($this->request, $vs_image, "", "Detail", "Object", "Show", array("object_id" => $va_item["object_id"])) . "</div>"; print "<div class='caSetsSlideshowCaption'>(" . $i . "/" . sizeof($va_items) . ")</br>"; if ($t_rep->get("image_credit_line")) { print "<i>" . $t_rep->get("image_credit_line") . "</i>"; } print " – © INFGM"; #print $t_set_item->get("idno").", ";
public function downloadCustomWorksheet() { $o_purifier = new HTMLPurifier(); $pn_occurrence_id = $this->request->getParameter('occurrence_id', pInteger); $pn_relation_id = $this->request->getParameter('relation_id', pInteger); $t_objects_x_occurrences = new ca_objects_x_occurrences($pn_relation_id); # --- get the images $pa_print_rep = $this->request->getParameter('print_reps', pArray); $va_images = array(); if (is_array($pa_print_rep)) { $t_rep = new ca_object_representations(); foreach ($pa_print_rep as $vn_i => $vn_rep_id) { $t_rep->load($vn_rep_id); $va_media_info = $t_rep->getMediaInfo('media'); $vn_height = $va_media_info["large"]["HEIGHT"]; $vn_width = $va_media_info["large"]["WIDTH"]; if ($vn_height > 900) { $vn_new_width = 900 * $vn_width / $vn_height; $vs_image = "<img src='" . $t_rep->getMediaUrl('media', 'large') . "' style='height:900px; width:" . $vn_new_width . "px;'>"; } else { $vs_image = $t_rep->getMediaTag("media", "large"); } $va_images[] = $vs_image; } } $this->view->setVar("images", $va_images); $t_lists = new ca_lists(); $vn_original_date = $t_lists->getItemIDFromList("date_types", "dateOriginal"); $vs_image_info = "<div style='font-size:11px; font-style:italic;'>" . $t_objects_x_occurrences->get("ca_objects.preferred_labels.name"); if ($va_dates = $t_objects_x_occurrences->get("ca_objects.date", array("returnAsArray" => true))) { foreach ($va_dates as $va_date_info) { if ($va_date_info["dc_dates_types"] == $vn_original_date) { $vs_image_info .= ", " . $va_date_info["dates_value"]; } } } if ($t_objects_x_occurrences->get("ca_objects.repository")) { $vs_image_info .= ", " . $t_objects_x_occurrences->get("ca_objects.repository", array('delimiter' => ', ', 'convertCodesToDisplayText' => true)); } $vs_image_info .= ", " . $t_objects_x_occurrences->get("ca_objects.idno") . "</div>"; $this->view->setVar("image_info", $vs_image_info); # --- get the attributes the user may have altered $va_info = array(); $va_attributes = $this->opa_worksheet_attributes; foreach ($va_attributes as $vs_attribute_code => $vs_title) { if ($vs_value = str_replace("\n", "<br/>", $o_purifier->purify($this->request->getParameter($vs_attribute_code, pString)))) { if ($vs_attribute_code == "title") { $va_info[$vs_attribute_code] = $vs_value; } else { $va_info[$vs_attribute_code] = "<b>" . $vs_title . "</b><br/>" . $vs_value; } } else { $va_info[$vs_attribute_code] = ""; } } $this->view->setvar("worksheet_info", $va_info); require_once __CA_LIB_DIR__ . '/core/Parsers/dompdf/dompdf_config.inc.php'; if ($vs_title = $o_purifier->purify($this->request->getParameter($vs_attribute_code, pString))) { $vs_output_filename = $vs_title; } else { $vs_output_filename = "NYSA_Custom_WorkSheet"; } $vs_output_file_name = preg_replace("/[^A-Za-z0-9\\-]+/", '_', $vs_output_filename); header("Content-Disposition: attachment; filename=export_results.pdf"); header("Content-type: application/pdf"); $vs_content = $this->render($this->ops_theme . '/custom_worksheet_html.php'); $o_pdf = new DOMPDF(); // Page sizes: 'letter', 'legal', 'A4' // Orientation: 'portrait' or 'landscape' $o_pdf->set_paper("letter", "portrait"); $o_pdf->load_html($vs_content, 'utf-8'); $o_pdf->render(); $o_pdf->stream($vs_output_file_name . ".pdf"); return; }