getTitle(), encode_url('module.php?mod=clippings&ged='.$GEDCOM), "down"); if (!empty($WT_IMAGES["clippings"]["large"])) { $menu->addIcon($WT_IMAGE_DIR."/".$WT_IMAGES["clippings"]["large"]); } $menu->addClass("menuitem$ff", "menuitem_hover$ff", "submenu$ff", "icon_large_clippings"); return $menu; } // Implement WT_Module_Sidebar public function defaultSidebarOrder() { return 50; } // Impelement WT_Module_Sidebar public function hasSidebarContent() { return true; } // Impelement WT_Module_Sidebar public function getSidebarContent() { require_once WT_ROOT.'modules/clippings/clippings_ctrl.php'; global $WT_IMAGE_DIR, $WT_IMAGES; global $cart, $GEDCOM; $out = ''; if ($this->controller) { $out .= '
'; $out .= $this->getCartList(); $root = null; if ($this->controller->pid && !id_in_cart($this->controller->pid)) { $root = GedcomRecord::getInstance($this->controller->pid); if ($root && $root->canDisplayDetails()) $out .= ' '.i18n::translate('Add %s to cart', $root->getListName()).''; } else if ($this->controller->famid && !id_in_cart($this->controller->pid)) { $fam = Family::getInstance($this->controller->famid); if ($fam && $fam->canDisplayDetails()) { $out .= ' '.i18n::translate('Add %s to cart', $fam->getFullName()).'
'; } } $out .= '
'; } return $out; } // Impelement WT_Module_Sidebar public function getSidebarAjaxContent() { global $GEDCOM, $cart; require_once WT_ROOT.'modules/clippings/clippings_ctrl.php'; $controller = new ClippingsController(); $this->controller = $controller; $add = safe_GET_xref('add',''); $add1 = safe_GET_xref('add1',''); $remove = safe_GET('remove', WT_REGEX_INTEGER, -1); $others = safe_GET('others', WT_REGEX_ALPHANUM, ''); $controller->level1 = safe_GET('level1'); $controller->level2 = safe_GET('level2'); $controller->level3 = safe_GET('level3'); if (!empty($add)) { $record = GedcomRecord::getInstance($add); if ($record) { $controller->id=$record->getXref(); $controller->type=$record->getType(); $clipping = array (); $clipping['type'] = strtolower($record->getType()); $clipping['id'] = $add; $clipping['gedcom'] = $GEDCOM; $ret = $controller->add_clipping($clipping); if (isset($_SESSION["cart"])) $_SESSION["cart"]=$cart; if ($ret) return $this->askAddOptions($record); } } else if (!empty($add1)) { $record = GedcomRecord::getInstance($add1); if ($record) { $controller->id=$record->getXref(); $controller->type=strtolower($record->getType()); if ($record->getType() == 'SOUR') { if ($others == 'linked') { foreach (fetch_linked_indi($record->getXref(), 'SOUR', WT_GED_ID) as $indi) { if ($indi->canDisplayName()) { $controller->add_clipping(array('type'=>'indi', 'id'=>$indi->getXref())); } } foreach (fetch_linked_fam($record->getXref(), 'SOUR', WT_GED_ID) as $fam) { if ($fam->canDisplayName()) { $controller->add_clipping(array('type'=>'fam', 'id'=>$fam->getXref())); } } } } if ($record->getType() == 'FAM') { if ($others == 'parents') { $parents = find_parents($record->getXref()); if (!empty ($parents["HUSB"])) { $clipping = array (); $clipping['type'] = "indi"; $clipping['id'] = $parents["HUSB"]; $ret = $controller->add_clipping($clipping); } if (!empty ($parents["WIFE"])) { $clipping = array (); $clipping['type'] = "indi"; $clipping['id'] = $parents["WIFE"]; $ret = $controller->add_clipping($clipping); } } else if ($others == "members") { $controller->add_family_members($record->getXref()); } else if ($others == "descendants") { $controller->add_family_descendancy($record->getXref()); } } else if ($record->getType() == 'INDI') { if ($others == 'parents') { $famids = find_family_ids($record->getXref()); foreach ($famids as $indexval => $famid) { $clipping = array (); $clipping['type'] = "fam"; $clipping['id'] = $famid; $ret = $controller->add_clipping($clipping); if ($ret) { $controller->add_family_members($famid); } } } else if ($others == 'ancestors') { $controller->add_ancestors_to_cart($record->getXref(), $controller->level1); } else if ($others == 'ancestorsfamilies') { $controller->add_ancestors_to_cart_families($record->getXref(), $controller->level2); } else if ($others == 'members') { $famids = find_sfamily_ids($record->getXref()); foreach ($famids as $indexval => $famid) { $clipping = array (); $clipping['type'] = "fam"; $clipping['id'] = $famid; $ret = $controller->add_clipping($clipping); if ($ret) $controller->add_family_members($famid); } } else if ($others == 'descendants') { $famids = find_sfamily_ids($record->getXref()); foreach ($famids as $indexval => $famid) { $clipping = array (); $clipping['type'] = "fam"; $clipping['id'] = $famid; $ret = $controller->add_clipping($clipping); if ($ret) $controller->add_family_descendancy($famid, $controller->level3); } } } } } else if ($remove!=-1) { $ct = count($cart); for ($i = $remove +1; $i < $ct; $i++) { $cart[$i -1] = $cart[$i]; } unset ($cart[$ct -1]); } else if (isset($_REQUEST['empty'])) { $cart = array (); $_SESSION["cart"] = $cart; } else if (isset($_REQUEST['download'])) { return $this->downloadForm(); } if (isset($_SESSION["cart"])) $_SESSION["cart"]=$cart; return $this->getCartList(); } public function getCartList() { global $WT_IMAGE_DIR, $WT_IMAGES; global $cart, $GEDCOM; $out =''; if (count($cart)>0) { $out .= ''.i18n::translate('Empty Cart').''.help_link('empty_cart', 'clippings'); $out .= '
'.i18n::translate('Download Now').''; } $out .= '
'; return $out; } public function askAddOptions(&$person) { global $MAX_PEDIGREE_GENERATIONS; $out = "".$person->getFullName().""; $out .= WT_JS_START; $out .= 'function radAncestors(elementid) {var radFamilies=document.getElementById(elementid);radFamilies.checked=true;} function continueAjax(frm) { var others = jQuery("input[name=\'others\']:checked").val(); var link = "sidebar.php?sb_action=clippings&add1="+frm.pid.value+"&others="+others+"&level1="+frm.level1.value+"&level2="+frm.level2.value+"&level3="+frm.level3.value; jQuery("#sb_clippings_content").load(link); }'; $out .= WT_JS_END; if ($person->getType()=='FAM') { $out .= '
'.i18n::translate('Which other links from this family would you like to add?').'
'.i18n::translate('Add just this family record.').'
'.i18n::translate('Add parents\' records together with this family record.').'
'.i18n::translate('Add parents\' and children\'s records together with this family record.').'
'.i18n::translate('Add parents\' and all descendants\' records together with this family record.').'
'; } else if ($person->getType()=='INDI') { $out .= '
'.i18n::translate('Which links from this person would you also like to add?').'
'; } else if ($person->getType()=='SOUR') { $out .= '
'.i18n::translate('Which records linked to this source should be added?').'
'.i18n::translate('Add just this source.').'
'.i18n::translate('Add this source and families/people linked to it.').'
'; } else return $this->getSidebarContent(); return $out; } public function downloadForm() { global $TEXT_DIRECTION; $controller = $this->controller; $out = WT_JS_START; $out .= 'function cancelDownload() { var link = "sidebar.php?sb_action=clippings"; jQuery("#sb_clippings_content").load(link); }'; $out .= WT_JS_END; $out .= '
'; // Determine the Privatize options available to this user if (WT_USER_IS_ADMIN) { $radioPrivatizeNone = 'checked="checked" '; $radioPrivatizeVisitor = ''; $radioPrivatizeUser = ''; $radioPrivatizeGedadmin = ''; $radioPrivatizeAdmin = ''; } else if (WT_USER_GEDCOM_ADMIN) { $radioPrivatizeNone = 'DISABLED '; $radioPrivatizeVisitor = 'checked="checked" '; $radioPrivatizeUser = ''; $radioPrivatizeGedadmin = ''; $radioPrivatizeAdmin = 'DISABLED '; } else if (WT_USER_ID) { $radioPrivatizeNone = 'DISABLED '; $radioPrivatizeVisitor = 'checked="checked" '; $radioPrivatizeUser = ''; $radioPrivatizeGedadmin = 'DISABLED '; $radioPrivatizeAdmin = 'DISABLED '; } else { $radioPrivatizeNone = 'DISABLED '; $radioPrivatizeVisitor = 'checked="checked" DISABLED '; $radioPrivatizeUser = 'DISABLED '; $radioPrivatizeGedadmin = 'DISABLED '; $radioPrivatizeAdmin = 'DISABLED '; } $out .= '

'.i18n::translate('File Information').'

'.i18n::translate('File Type').help_link('file_type').' '; if ($TEXT_DIRECTION=='ltr') { $out .= ' GEDCOM
 Gramps XML '; } else { $out .= 'GEDCOM '.getLRM().''.getLRM().'
Gramps XML '.getLRM().''.getLRM(); } $out .= '
'.i18n::translate('Zip File(s)').help_link('zip').'
'.i18n::translate('Include Media (automatically zips files)').help_link('include_media').'
'.i18n::translate('Apply privacy settings?').help_link('apply_privacy').'  '.i18n::translate('None').'
 '.i18n::translate('Visitor').'
 '.i18n::translate('Authenticated user').'
 '.i18n::translate('GEDCOM administrator').'
 '.i18n::translate('Site administrator').'
'.i18n::translate('Convert from UTF-8 to ANSI (ISO-8859-1)').help_link('utf8_ansi').'
'.i18n::translate('Remove custom PGV tags? (eg. _PGVU, _THUM)').help_link('remove_tags').'
'; return $out; } }