Example #1
0
    $legend = WT_Filter::escapeHtml($alpha) . '…';
    $url = WT_SCRIPT_NAME . '?alpha=' . rawurlencode($alpha) . '&ged=' . WT_GEDURL;
    $show = WT_Filter::get('show', 'surn|indi', 'surn');
} else {
    $show_all = 'no';
    $legend = '…';
    $url = WT_SCRIPT_NAME . '?ged=' . WT_GEDURL;
    $show = 'none';
    // Don't show lists until something is chosen
}
$legend = '<span dir="auto">' . $legend . '</span>';
$controller->setPageTitle(WT_I18N::translate('Families') . ' : ' . $legend)->pageHeader();
echo '<h2 class="center">', WT_I18N::translate('Families'), '</h2>';
// Print a selection list of initial letters
$list = array();
foreach (WT_Query_Name::surnameAlpha($show_marnm, true, WT_GED_ID) as $letter => $count) {
    switch ($letter) {
        case '@':
            $html = $UNKNOWN_NN;
            break;
        case ',':
            $html = WT_I18N::translate('None');
            break;
        default:
            $html = WT_Filter::escapeHtml($letter);
            break;
    }
    if ($count) {
        if ($letter == $alpha) {
            $list[] = '<a href="' . WT_SCRIPT_NAME . '?alpha=' . rawurlencode($letter) . '&amp;ged=' . WT_GEDURL . '" class="warning" title="' . WT_I18N::number($count) . '">' . $html . '</a>';
        } else {
Example #2
0
    public function getSidebarContent()
    {
        global $WT_IMAGES, $UNKNOWN_NN, $controller;
        // Fetch a list of the initial letters of all surnames in the database
        $initials = WT_Query_Name::surnameAlpha(true, false, WT_GED_ID, false);
        $controller->addInlineJavascript('
			var loadedNames = new Array();

			function isearchQ() {
				var query = jQuery("#sb_indi_name").val();
				if (query.length>1) {
					jQuery("#sb_indi_content").load("module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=individuals&search="+query);
				}
			}

			var timerid = null;
			jQuery("#sb_indi_name").keyup(function(e) {
				if (timerid) window.clearTimeout(timerid);
				timerid = window.setTimeout("isearchQ()", 500);
			});
			jQuery("#sb_content_individuals").on("click", ".sb_indi_letter", function() {
				jQuery("#sb_indi_content").load(this.href);
				return false;
			});
			jQuery("#sb_content_individuals").on("click", ".sb_indi_surname", function() {
				var surname = jQuery(this).attr("title");
				var alpha = jQuery(this).attr("alt");

				if (!loadedNames[surname]) {
					jQuery.ajax({
					  url: "module.php?mod=' . $this->getName() . '&mod_action=ajax&sb_action=individuals&alpha="+alpha+"&surname="+surname,
					  cache: false,
					  success: function(html) {
					    jQuery("#sb_indi_"+surname+" div").html(html);
					    jQuery("#sb_indi_"+surname+" div").show("fast");
					    jQuery("#sb_indi_"+surname).css("list-style-image", "url(' . $WT_IMAGES['minus'] . ')");
					    loadedNames[surname]=2;
					  }
					});
				}
				else if (loadedNames[surname]==1) {
					loadedNames[surname]=2;
					jQuery("#sb_indi_"+surname+" div").show("fast");
					jQuery("#sb_indi_"+surname).css("list-style-image", "url(' . $WT_IMAGES['minus'] . ')");
				}
				else {
					loadedNames[surname]=1;
					jQuery("#sb_indi_"+surname+" div").hide("fast");
					jQuery("#sb_indi_"+surname).css("list-style-image", "url(' . $WT_IMAGES['plus'] . ')");
				}
				return false;
			});
		');
        $out = '<form method="post" action="module.php?mod=' . $this->getName() . '&amp;mod_action=ajax" onsubmit="return false;"><input type="search" name="sb_indi_name" id="sb_indi_name" placeholder="' . WT_I18N::translate('Search') . '"><p>';
        foreach ($initials as $letter => $count) {
            switch ($letter) {
                case '@':
                    $html = $UNKNOWN_NN;
                    break;
                case ',':
                    $html = WT_I18N::translate('None');
                    break;
                case ' ':
                    $html = '&nbsp;';
                    break;
                default:
                    $html = $letter;
                    break;
            }
            $html = '<a href="module.php?mod=' . $this->getName() . '&amp;mod_action=ajax&amp;sb_action=individuals&amp;alpha=' . urlencode($letter) . '" class="sb_indi_letter">' . $html . '</a>';
            $out .= $html . " ";
        }
        $out .= '</p>';
        $out .= '<div id="sb_indi_content">';
        $out .= '</div></form>';
        return $out;
    }