Ejemplo n.º 1
0
 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');
 }
Ejemplo n.º 2
0
 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"))) . "&nbsp;&nbsp;&nbsp;&nbsp;";
}
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>}}}
Ejemplo n.º 5
0
 /**
  * 
  */
 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++;
Ejemplo n.º 7
0
	<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 " &ndash; &copy; INFGM";
        #print $t_set_item->get("idno").", ";
Ejemplo n.º 8
0
 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;
 }