} } if ($t_objects_x_occurrences->get("ca_objects.repository")) { print ", " . $t_objects_x_occurrences->get("ca_objects.repository", array('delimiter' => ', ', 'convertCodesToDisplayText' => true)); } print ", " . $t_objects_x_occurrences->get("ca_objects.idno"); print "</div>"; if ($ps_mode != "print") { print "<div class='unit'>" . caNavLink($this->request, _t("Create a Worksheet for This Document"), '', 'nysa', 'Download', 'BlankWorksheet', array('occurrence_id' => $vn_occurrence_id, 'relation_id' => $vn_relation_id)) . "</div><!-- end unit -->"; } # --- attributes on objects_x_occurrences record $va_attributes = array("caption", "transcription", "translation", "description", "questions"); foreach ($va_attributes as $vs_attribute_code) { if ($vs_value = $t_objects_x_occurrences->get("ca_objects_x_occurrences.{$vs_attribute_code}", $va_options)) { if ($ps_mode == "print") { print "<div class='unit'><input type='checkbox' checked name='print_fields[]' value='" . $vs_attribute_code . "_related_object_" . $vn_relation_id . "'> <b>" . $t_objects_x_occurrences->getDisplayLabel("ca_objects_x_occurrences.{$vs_attribute_code}") . "</b><br/>"; print "<textarea name='" . $vs_attribute_code . "_related_object_" . $vn_relation_id . "'>" . str_replace("*", "• ", $vs_value) . "</textarea>"; } else { if ($vs_attribute_code == "questions") { $va_tmp_options = $va_options; $va_tmp_options["returnAsArray"] = 1; $va_values = $t_objects_x_occurrences->get("ca_objects_x_occurrences.{$vs_attribute_code}", $va_tmp_options); print "<div class='unit'><b>" . $t_objects_x_occurrences->getDisplayLabel("ca_objects_x_occurrences.{$vs_attribute_code}") . "</b>"; print "<ol>"; foreach ($va_values as $va_value_info) { print "<li>" . $va_value_info[$vs_attribute_code] . "</li>"; } print "</ol>"; } else { print "<div class='unit'><b>" . $t_objects_x_occurrences->getDisplayLabel("ca_objects_x_occurrences.{$vs_attribute_code}") . "</b><br/>"; print str_replace("*", "• ", $vs_value);
public function Full() { $t_lists = new ca_lists(); $t_list_items = new ca_list_items(); $o_purifier = new HTMLPurifier(); $pn_occurrence_id = $this->request->getParameter('occurrence_id', pString); $t_occurrence = new ca_occurrences($pn_occurrence_id); $va_access_values = caGetUserAccessValues($this->request); $va_occ_info[] = "<b>" . _t("Lesson type") . "</b>: " . $t_occurrence->getTypeName(); $va_occ_info2 = array(); foreach (array("gradelevel", "lessonTopic", "learning_standard", "commonCore", "skills", "EdProject", "funder") as $vs_attribute_code) { if ($va_values = $t_occurrence->get("ca_occurrences.{$vs_attribute_code}", array("convertCodesToDisplayText" => false, "returnAsArray" => true))) { $va_output_parts = array(); foreach ($va_values as $k => $va_value) { if ($va_value[$vs_attribute_code]) { # --- display hierarchy path for "lessonTopic", "learning_standard", "commonCore" if (in_array($vs_attribute_code, array("lessonTopic", "learning_standard", "commonCore"))) { $vs_tmp = ""; $va_hierarchy_ancestors = $t_list_items->getHierarchyAncestors($va_value[$vs_attribute_code], array("idsOnly" => true, "includeSelf" => true)); if (is_array($va_hierarchy_ancestors) && sizeof($va_hierarchy_ancestors)) { # --- remove the root - we don't want to display it $va_root = array_pop($va_hierarchy_ancestors); if (is_array($va_hierarchy_ancestors) && sizeof($va_hierarchy_ancestors)) { foreach ($va_hierarchy_ancestors as $vni => $vn_list_item_id) { $vs_tmp = $t_lists->getItemForDisplayByItemID($vn_list_item_id) . ($vni > 0 ? " > " . $vs_tmp : ""); } $va_output_parts[] = $vs_tmp; } } } else { $vs_value = ""; if ($vs_value = trim($va_value[$vs_attribute_code])) { $va_output_parts[] = $t_lists->getItemForDisplayByItemID($vs_value); } } } } if (sizeof($va_output_parts)) { $va_occ_info[$vs_attribute_code] = "<b>" . $t_occurrence->getDisplayLabel("ca_occurrences.{$vs_attribute_code}") . "</b>: " . join(", ", $va_output_parts); } } } $va_occ_info["HR"] = "<HR>"; $va_attributes = array("theme", "guidelines", "sure", "directions", "context", "task", "glossary", "instructions", "essay", "essential", "check"); foreach ($va_attributes as $vs_attribute_code) { if ($vs_value = $t_occurrence->get("ca_occurrences.{$vs_attribute_code}", array("convertLineBreaks" => true, "delimiter" => "<br/>"))) { if ($vs_attribute_code == "glossary") { $va_glossary_terms = array(); $va_values = $t_occurrence->get("ca_occurrences.{$vs_attribute_code}", array("convertLineBreaks" => true, "returnAsArray" => true)); foreach ($va_values as $va_value) { $va_glossary_terms[] = $va_value["glossary"]; } sort($va_glossary_terms); $vs_value = implode("<br/>", $va_glossary_terms); $va_occ_info[$vs_attribute_code] = "<div class='unit'><b>" . $t_occurrence->getDisplayLabel("ca_occurrences.{$vs_attribute_code}") . "</b><br/>" . $vs_value . "</div><!-- end unit -->"; } else { $va_occ_info[$vs_attribute_code] = "<div class='unit'><b>" . $t_occurrence->getDisplayLabel("ca_occurrences.{$vs_attribute_code}") . "</b><br/>" . str_replace("*", "• ", $vs_value) . "</div><!-- end unit -->"; } } } $va_attributes = array("questions", "challenge", "connections", "resources", "transcription", "translation", "essay"); foreach ($va_attributes as $vs_attribute_code) { if ($vs_value = $t_occurrence->get("ca_occurrences.{$vs_attribute_code}", array("convertLineBreaks" => true, "delimiter" => "<br/>"))) { if (in_array($vs_attribute_code, array("questions", "resources"))) { $va_values = $t_occurrence->get("ca_occurrences.{$vs_attribute_code}", array("convertLineBreaks" => true, "delimiter" => "<br/>", "returnAsArray" => true)); $vs_tmp = ""; $vs_tmp .= "<div class='unit'><b>" . $t_occurrence->getDisplayLabel("ca_occurrences.{$vs_attribute_code}") . "</b><ol>"; foreach ($va_values as $va_value_info) { $vs_tmp .= "<li>" . $va_value_info[$vs_attribute_code] . "</li>"; } $vs_tmp .= "</ol></div><!-- end unit -->"; $va_occ_info2[$vs_attribute_code] = $vs_tmp; } else { $va_occ_info2[$vs_attribute_code] = "<div class='unit'><b>" . $t_occurrence->getDisplayLabel("ca_occurrences.{$vs_attribute_code}") . "</b><br/>" . str_replace("*", "• ", $vs_value) . "</div><!-- end unit -->"; } } } # --- related objects $va_related_objects_links = $t_occurrence->get("ca_objects_x_occurrences.relation_id", array("returnAsArray" => true)); $va_related_objects_info = array(); if (sizeof($va_related_objects_links)) { $t_objects_x_occurrences = new ca_objects_x_occurrences(); foreach ($va_related_objects_links as $vn_relation_id) { $va_object_info = array(); $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)); $va_reps_info = array(); 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_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; $va_reps_info[] = "<img src='" . $t_rep->getMediaUrl('media', 'large') . "' style='height:900px; width:" . $vn_new_width . "px;'>"; } else { $va_reps_info[] = $t_rep->getMediaTag('media', 'large'); } } } $va_object_info["reps"] = $va_reps_info; # --- attributes on objects_x_occurrences record $va_attributes = array("caption", "transcription", "translation", "description", "questions"); $va_md = array(); foreach ($va_attributes as $vs_attribute_code) { if ($vs_value = $t_objects_x_occurrences->get("ca_objects_x_occurrences.{$vs_attribute_code}", array("convertLineBreaks" => true, "delimiter" => "<br/>"))) { $va_md[$vs_attribute_code] = "<b>" . $t_objects_x_occurrences->getDisplayLabel("ca_objects_x_occurrences.{$vs_attribute_code}") . "</b><br/>" . $vs_value; } } # --- info from the related object record $t_lists = new ca_lists(); $vn_original_date = $t_lists->getItemIDFromList("date_types", "dateOriginal"); $vs_related_object_caption_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_related_object_caption_info .= ", " . $va_date_info["dates_value"]; } } } if ($t_objects_x_occurrences->get("ca_objects.repository")) { $vs_related_object_caption_info .= ", " . $t_objects_x_occurrences->get("ca_objects.repository", array('delimiter' => ', ', 'convertCodesToDisplayText' => true)); } $vs_related_object_caption_info .= ", " . $t_objects_x_occurrences->get("ca_objects.idno") . "</div>"; $va_object_info["object_caption_info"] = $vs_related_object_caption_info; $va_object_info["md"] = $va_md; $va_related_objects_info[$vn_relation_id] = $va_object_info; } } $this->view->setVar('related_objects_info', $va_related_objects_info); $this->view->setVar('title', $t_occurrence->getLabelForDisplay()); $this->view->setVar('occ_info', $va_occ_info); $this->view->setVar('occ_info2', $va_occ_info2); require_once __CA_LIB_DIR__ . '/core/Parsers/dompdf/dompdf_config.inc.php'; $vs_output_filename = $t_occurrence->getLabelForDisplay(); $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 . '/ca_occ_pdf_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; }