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 ='