/**
  * Create form for managing campaign settings (start date, end date, languages, etc.)
  */
 function campaignDetailForm($campaignNameOrId)
 {
     if ($this->editable) {
         $readonly = array();
     } else {
         $readonly = array('disabled' => 'disabled');
     }
     $campaign = AdCampaign::getCampaignSettings($campaignNameOrId);
     if ($campaign) {
         // If there was an error, we'll need to restore the state of the form
         $request = $this->getRequest();
         if ($request->wasPosted()) {
             $isEnabled = $request->getCheck('enabled');
             $isArchived = $request->getCheck('archived');
             //$campaignNameOrId = $request->getText( 'campaign' );
             //$catPageId = $request->getInt( 'catPageId' );
         } else {
             // Defaults
             $isEnabled = $campaign['enabled'] == '1';
             $isArchived = $campaign['archived'] == '1';
             //$catPageId = (int)$campaign[ 'catPageId' ];
         }
         // Build Html
         $htmlOut = '';
         $htmlOut .= Xml::tags('h2', null, $this->msg('promoter-campaign-heading', $campaignNameOrId)->text());
         $htmlOut .= Xml::openElement('table', array('cellpadding' => 9));
         // Rows
         // Allow changing campaign name
         $htmlOut .= Xml::openElement('tr');
         $htmlOut .= Xml::tags('td', array(), Xml::label($this->msg('promoter-campaign-name')->text(), 'campaign'));
         $htmlOut .= Xml::tags('td', array(), Xml::input('campaign', 30, $campaignNameOrId, array_replace($readonly, array('id' => 'campaign'))));
         $htmlOut .= Xml::closeElement('tr');
         /*
         // Linked to Category / Page
         $catTitle = Title::newFromID( $catPageId );
         $catName = $catTitle ? $catTitle->getText() : $this->msg( 'promoter-no-assigned-cat' )->text();
         $htmlOut .= Xml::openElement( 'tr' );
         $htmlOut .= Xml::tags( 'td', array(),
         	Xml::label( $this->msg( 'promoter-campaign-linked-to' )->text(), 'catPageId' ) );
         $htmlOut .= Xml::tags( 'td', array(),
         	Xml::input( 'catPageId', 30, $catName, array_replace( $readonly,
         			array( 'id' => 'catPageId' ) )
         	)
         );
         $htmlOut .= Xml::closeElement( 'tr' );
         */
         // Enabled
         $htmlOut .= Xml::openElement('tr');
         $htmlOut .= Xml::tags('td', array(), Xml::label($this->msg('promoter-enabled')->text(), 'enabled'));
         $htmlOut .= Xml::tags('td', array(), Xml::check('enabled', $isEnabled, array_replace($readonly, array('value' => $campaignNameOrId, 'id' => 'enabled'))));
         $htmlOut .= Xml::closeElement('tr');
         if ($this->editable) {
             // Locked
             $htmlOut .= Xml::openElement('tr');
             $htmlOut .= Xml::tags('td', array(), Xml::label($this->msg('promoter-archive-campaign')->text(), 'archive'));
             $htmlOut .= Xml::tags('td', array(), Xml::check('archive', $isArchived, array('value' => $campaignNameOrId, 'id' => 'archive')));
             $htmlOut .= Xml::closeElement('tr');
         }
         $htmlOut .= Xml::closeElement('table');
         return $htmlOut;
     } else {
         return '';
     }
 }