public static function render_bl_separated_text_as_ps($str)
 {
     $ps = HTMLTags_BLSeparatedPFactory::get_ps_from_str($str);
     foreach ($ps as $p) {
         echo $p->get_as_string();
     }
 }
 /**
  * Converts text that is blank line separated
  * to HTML <p> separated text.
  */
 public static function blank_line_delimited_paragraphs($in)
 {
     #echo $in; exit;
     $in = stripcslashes($in);
     $in = self::replace_double_square_brackets_with_link_to_db_page($in);
     $ps = HTMLTags_BLSeparatedPFactory::get_ps_from_str($in);
     #print_r($ps); exit;
     $out = '';
     foreach ($ps as $p) {
         $out .= $p->get_as_string();
         $out .= "\n";
     }
     #$out = stripcslashes($out);
     return $out;
 }
    public function content()
    {
        $about_haddock = <<<HDK
Congratulations! You've successfully installed Haddock CMS
on your system.

You now want to set the config variable:

<code>haddock/public-html/locations/default</code>

for this project to something sensible.

You also want to set

<code>haddock/public-html/verbosity/meta-pages/show-about-haddock-cms</code>

for this project to false to stop showing this page.

HDK;
        $ps = HTMLTags_BLSeparatedPFactory::get_ps_from_str($about_haddock);
        foreach ($ps as $p) {
            echo $p->get_as_string();
        }
    }
 * @copyright Clear Line Web Design, 2007-10-21
 * @copyright 2009-10-10, Robert Impey
 */
$nav_or_error_msg_div = new HTMLTags_Div();
$nav_or_error_msg_div->set_attribute_str('id', 'nav-or-error-msg');
$pdf = HaddockProjectOrganisation_ProjectDirectoryFinder::get_instance();
$pd = $pdf->get_project_directory_for_this_project();
$psd = $pd->get_project_specific_directory();
$alm = Admin_LoginManager::get_instance();
if ($psd->has_admin_navigation_xml_file()) {
    $anxf = $psd->get_admin_navigation_xml_file();
    $site_map_ul = new Admin_SiteMapUL($anxf, $alm->get_type());
    $nav_or_error_msg_div->append_tag_to_content($site_map_ul);
} else {
    $cmf = HaddockProjectOrganisation_ConfigManagerFactory::get_instance();
    $cm = $cmf->get_config_manager('plug-ins', 'admin');
    /*
     * Get the file not found message and turn it into paragraphs.
     * 
     * The first paragraph should set its CSS class to 'error'.
     */
    $fnfm_str = $cm->get_navigation_file_not_found_msg();
    $ps = HTMLTags_BLSeparatedPFactory::get_ps_from_str($fnfm_str);
    if (count($ps) > 0) {
        $ps[0]->set_attribute_str('class', 'error');
        foreach ($ps as $p) {
            $nav_or_error_msg_div->append_tag_to_content($p);
        }
    }
}
echo $nav_or_error_msg_div->get_as_string();
<?php

/**
 * A div where the password resetting process is explained.
 *
 * @copyright Clear Line Web Design, 2007-09-24
 */
$password_reset_explanation = <<<TXT
If you have created an account at this shop before
but have forgotten your password, please enter your
email into the form above and hit the reset button.

A new random password will be emailed to you immediately.
TXT;
$ps = HTMLTags_BLSeparatedPFactory::get_ps_from_str($password_reset_explanation);
$reset_password_process_explanation_div = new HTMLTags_Div();
$reset_password_process_explanation_div->set_attribute_str('id', 'reset_password_process_explanation');
foreach ($ps as $p) {
    $reset_password_process_explanation_div->append_tag_to_content($p);
}
echo $reset_password_process_explanation_div->get_as_string();