/** * * @param RP_Persona $persona * @param array $options * @param integer $page_id * @return string */ public function build($persona, $options, $page_id) { $block = ''; if ($options['hide_header'] == 0) { $block .= RP_Header_Panel_Creator::create($persona, $options); } if ($options['hide_bio'] == 0 && isset($persona->notes) && count($persona->notes) > 0) { $block .= RP_Bio_Panel_Creator::create($persona->notes, $options); } if ($options['hide_facts'] == 0 && isset($persona->facts) && count($persona->facts) > 0) { $block .= RP_Facts_Panel_Creator::create($persona->facts, $options); } if ($options['hide_ancestors'] == 0 && isset($persona->ancestors)) { $creator = new RP_Ancestors_Panel_Creator(); $block .= $creator->create($persona->ancestors, $options); } if ($options['hide_descendancy'] == 0 && isset($persona->marriages)) { $creator = new RP_Descendancy_Panel_Creator(); $block .= $creator->create($persona, $options); } if ($options['hide_family_c'] == 0 && isset($persona->ancestors)) { $block .= RP_Group_Sheet_Panel_Creator::create_group_child('c0', $persona->ancestors, $persona->siblings, $options); } if ($options['hide_family_s'] == 0 && isset($persona->marriages) && count($persona->marriages) > 0) { $cnt = count($persona->marriages); for ($idx = 0; $idx < $cnt; $idx++) { $marriage = $persona->marriages[$idx]; $block .= RP_Group_Sheet_Panel_Creator::create_group_spouse('p' . $idx, $marriage, $options); } } if ($options['hide_pictures'] == 0 && isset($persona->picfiles) && count($persona->picfiles) > 0) { $block .= RP_Picture_Panel_Creator::create($persona, $options); } if ($options['hide_evidence'] == 0 && isset($persona->sources) && count($persona->sources) > 0) { $block .= RP_Evidence_Panel_Creator::create($persona, $options); } $block .= RP_Persona_Helper::get_banner($options, ''); $block .= RP_Persona_Page_Builder::create_end_of_page($persona->id, $persona->batch_id, $page_id, $options); return $block; }
/** * * @param array $ancestors * @param array $options * @return string */ public static function create($ancestors, $options) { $pframe_color = isset($options['pframe_color']) && !empty($options['pframe_color']) ? $options['pframe_color'] : 'brown'; $isEdit = ($options['is_system_of_record'] == '1' ? true : false) && current_user_can("edit_pages"); $fname = $ancestors[4]->full_name; if ($isEdit && $fname == '?' && $ancestors[2]->full_name != '?') { $fname = '+'; } $block = '<section class="rp_truncate">' . RP_Persona_Helper::get_banner($options, __('Ancestors', 'rootspersona')) . '<div class="rp_ancestors">' . '<table cellpadding="0" cellspacing="0" class="ancestors"><tbody>' . '<tr><td colspan="2" rowspan="6"> </td>' . '<td colspan="3" rowspan="2"> </td><td> </td>' . '<td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[4], $options, $fname, $ancestors[2], 1, $ancestors[5]); $fname = $ancestors[2]->full_name; if ($isEdit && $fname == '?') { $fname = '+'; } $block .= '</td></tr>' . '<tr><td class="rp_topleft" style="border-color:' . $pframe_color . ' !important"> </td></tr>' . '<tr><td> </td>' . '<td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[2], $options, $fname, $ancestors[1], 1, $ancestors[3]); $fname = $ancestors[5]->full_name; if ($isEdit && $fname == '?' && $ancestors[2]->full_name != '?') { $fname = '+'; } $block .= '</td><td class="rp_bottom" style="border-color:' . $pframe_color . ' !important"> </td><td colspan="2" rowspan="2" class="rp_left" style="border-color:' . $pframe_color . ' !important"> </td></tr>' . '<tr><td class="rp_topleft" style="border-color:' . $pframe_color . ' !important"> </td><td> </td></tr>' . '<tr><td colspan="3" rowspan="6" class="rp_left" style="border-color:' . $pframe_color . ' !important"> </td><td class="rp_leftbottom" style="border-color:' . $pframe_color . ' !important"> </td>' . '<td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[5], $options, $fname, $ancestors[2], 2, $ancestors[4]); $block .= '</td></tr>' . '<tr><td> </td></tr><tr><td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[1], $options, $ancestors[1]->full_name, null, null, null); $fname = $ancestors[6]->full_name; if ($isEdit && $fname == '?' && $ancestors[3]->full_name != '?') { $fname = '+'; } $block .= '</td><td class="rp_bottom" style="border-color:' . $pframe_color . ' !important"> </td><td colspan="2" rowspan="2"> </td></tr>' . '<tr><td> </td></tr>' . '<tr><td colspan="2" rowspan="6"> </td><td> </td><td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[6], $options, $fname, $ancestors[3], 1, $ancestors[7]); $fname = $ancestors[3]->full_name; if ($isEdit && $fname == '?') { $fname = '+'; } $block .= '</td></tr><tr><td class="rp_topleft" style="border-color:' . $pframe_color . ' !important"> </td></tr>' . '<tr><td class="rp_leftbottom" style="border-color:' . $pframe_color . ' !important"> </td><td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[3], $options, $fname, $ancestors[1], 2, $ancestors[2]); $fname = $ancestors[7]->full_name; if ($isEdit && $fname == '?' && $ancestors[3]->full_name != '?') { $fname = '+'; } $block .= '</td><td class="rp_bottom" style="border-color:' . $pframe_color . ' !important"> </td><td colspan="2" rowspan="2" class="rp_left" style="border-color:' . $pframe_color . ' !important"> </td></tr>' . '<tr><td> </td><td> </td></tr><tr><td colspan="3" rowspan="2"> </td>' . '<td class="rp_leftbottom" style="border-color:' . $pframe_color . ' !important"> </td><td rowspan="2" class="rp_nameBox" style="border-color:' . $pframe_color . ' !important">' . RP_Ancestors_Panel_Creator::buildBlock($ancestors[7], $options, $fname, $ancestors[3], 2, $ancestors[6]); $block .= '</td></tr><tr><td> </td></tr>'; $block .= '</tbody></table></div></section>'; return $block; }