function showBox($box, $options = array())
 {
     $defOpt = array('wrapper' => array('tag' => 'div', 'editMode' => empty($options['wrapper']), 'attr' => array()), 'indent' => '', 'single' => preg_match('/^single--/', $box['NewsletterBox']['zone']));
     $opt = Set::merge($defOpt, $options);
     $editMode = $this->inEditMode();
     $result_html = '';
     if ($editMode && $opt['wrapper']) {
         if (!empty($box['NewsletterBox']['id'])) {
             $opt['wrapper']['attr']['id'] = 'box' . $box['NewsletterBox']['id'];
             $opt['wrapper']['attr']['boxid'] = $box['NewsletterBox']['id'];
         }
         $opt['wrapper']['attr']['class'][] = 'newsletter_box';
     } elseif ($opt['wrapper']['editMode']) {
         $opt['wrapper'] = false;
     }
     if ($opt['wrapper']) {
         $result_html .= $opt['indent'] . '<' . $opt['wrapper']['tag'] . $this->_parseAttributes($opt['wrapper']['attr']) . '>';
     }
     $element = NewsletterConfig::getNewsletterBoxPaths($box['NewsletterBox']['template'], $this->newsletter['Newsletter']['template'], false, false, $opt['single']);
     //add default data provide by the zone
     $zoneOpt = $this->getZoneOpt($box['NewsletterBox']['zone']);
     if (!empty($zoneOpt['boxList'][$box['NewsletterBox']['template']]['data'])) {
         $box['NewsletterBox']['data'] = array_merge($zoneOpt['boxList'][$box['NewsletterBox']['template']]['data'], $box['NewsletterBox']['data']);
     }
     $slug = '';
     if (!empty($box['NewsletterBox']['data']['title'])) {
         $slug = strtolower(Inflector::slug($box['NewsletterBox']['data']['title'])) . '_';
     }
     if (!empty($box['NewsletterBox']['id'])) {
         $result_html .= '<a name="' . $slug . $box['NewsletterBox']['id'] . '"></a>';
     }
     $tmp = Configure::read('Config.language');
     if (!empty($this->newsletter['Newsletter']['lang'])) {
         Configure::write('Config.language', $this->newsletter['Newsletter']['lang']);
     }
     $result_html .= $this->view->element($element, array("newsletter_box" => $box));
     //,'plugin' => 'none'
     $result_html .= $this->boxFooter($box, $zoneOpt);
     $tmp = Configure::write('Config.language', $tmp);
     if ($opt['wrapper']) {
         $result_html .= $opt['indent'] . '</' . $opt['wrapper']['tag'] . '>' . "\n";
     }
     return $result_html;
 }
 function admin_get_box_edit($id)
 {
     if (Configure::read('debug') == 2) {
         Configure::write('debug', 1);
     }
     $this->layout = "newsletter_box_edit_ajax";
     if (is_array($id)) {
         $newsletter_box = $id;
     } else {
         $newsletter_box = $this->NewsletterBox->read(null, $id);
     }
     $newsletter = $this->Newsletter->read(null, $newsletter_box["NewsletterBox"]["newsletter_id"]);
     $this->set('newsletter_box', $newsletter_box);
     $this->data = $newsletter_box;
     $this->set('newsletter', $newsletter);
     $config = $this->NewsletterBox->getConfig($newsletter_box);
     if (!empty($config)) {
         $config->beforeRenderEdit($newsletter_box, $this);
     }
     $single = preg_match('/^single--/', $newsletter_box['NewsletterBox']['zone']);
     $this->render(NewsletterConfig::getNewsletterBoxPaths($newsletter_box['NewsletterBox']['template'], $newsletter['Newsletter']['template'], true, true, $single));
 }