public function build_sheet(cs_genericPage $page)
 {
     $data = $this->get_sheet_data();
     $blockRows = $page->rip_all_block_rows('content');
     $parsedSlots = array();
     foreach ($page->templateRows as $n => $garbage) {
         if (preg_match('/slot/i', $n)) {
             $parsedSlots[$n] = 0;
         }
     }
     foreach ($data as $name => $val) {
         if (is_array($val)) {
             $blockRowName = $name . 'Slot';
             if ($name == 'saves') {
                 // changed name of the saves row so it doesn't get an extra row automatically...
                 $blockRowName = 'characterSaveRow';
             }
             if (!isset($page->templateRows[$blockRowName])) {
                 throw new ErrorException(__METHOD__ . ": failed to parse data for (" . $name . "), missing block row '" . $blockRowName . "'");
             }
             $parsedRows = '';
             $rowsParsed = 0;
             foreach ($val as $id => $subArray) {
                 if (is_array($subArray)) {
                     if ($name == 'skills') {
                         $subArray['abilityDropDown'] = $this->create_ability_select($page, $id, $subArray['skills__ability_name']);
                     }
                     $myBlockRow = $page->templateRows[$blockRowName];
                     $subArray[$name . '_id'] = $id;
                     $parsedRows .= ToolBox::mini_parser($myBlockRow, $subArray, '{', '}');
                     $rowsParsed++;
                     $parsedSlots[$blockRowName] = $rowsParsed;
                 } else {
                     $page->add_template_var($id, $subArray);
                 }
             }
             if ($rowsParsed > 0) {
                 $page->add_template_var($blockRowName, $parsedRows);
             }
         } else {
             $page->add_template_var($name, $val);
         }
     }
 }
 function send_activation_email($infoArr)
 {
     //setup the variables for sending the email...
     $to = $infoArr['email'];
     $subj = "New Account Activation [" . $infoArr['uid'] . "]";
     //read-in the contents of the email template.
     $page = new cs_genericPage(false, "content/registrationEmail.tmpl");
     //parse the template...
     foreach ($infoArr as $tmpl => $value) {
         $page->add_template_var($tmpl, $value);
     }
     #$body = mini_parser($tmpl, $infoArr, "{", "}");
     $body = $page->return_printed_page();
     $result = $this->send_single_email($to, $subj, $body);
     $this->debug[__METHOD__] = $result;
     $this->logger->log_by_class(ToolBox::debug_print($this->debug, 0), 'debug');
     return $result;
 }