/**
  * Refresh this MetaControl with Data from the local WikiVersion object.
  * @param boolean $blnReload reload WikiVersion from the database
  * @return void
  */
 public function Refresh($blnReload = false)
 {
     if ($blnReload) {
         $this->objWikiVersion->Reload();
     }
     if ($this->lblId) {
         if ($this->blnEditMode) {
             $this->lblId->Text = $this->objWikiVersion->Id;
         }
     }
     if ($this->lstWikiItem) {
         $this->lstWikiItem->RemoveAllItems();
         if (!$this->blnEditMode) {
             $this->lstWikiItem->AddItem(QApplication::Translate('- Select One -'), null);
         }
         $objWikiItemArray = WikiItem::LoadAll();
         if ($objWikiItemArray) {
             foreach ($objWikiItemArray as $objWikiItem) {
                 $objListItem = new QListItem($objWikiItem->__toString(), $objWikiItem->Id);
                 if ($this->objWikiVersion->WikiItem && $this->objWikiVersion->WikiItem->Id == $objWikiItem->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiItem->AddItem($objListItem);
             }
         }
     }
     if ($this->lblWikiItemId) {
         $this->lblWikiItemId->Text = $this->objWikiVersion->WikiItem ? $this->objWikiVersion->WikiItem->__toString() : null;
     }
     if ($this->txtVersionNumber) {
         $this->txtVersionNumber->Text = $this->objWikiVersion->VersionNumber;
     }
     if ($this->lblVersionNumber) {
         $this->lblVersionNumber->Text = $this->objWikiVersion->VersionNumber;
     }
     if ($this->txtName) {
         $this->txtName->Text = $this->objWikiVersion->Name;
     }
     if ($this->lblName) {
         $this->lblName->Text = $this->objWikiVersion->Name;
     }
     if ($this->lstPostedByPerson) {
         $this->lstPostedByPerson->RemoveAllItems();
         if (!$this->blnEditMode) {
             $this->lstPostedByPerson->AddItem(QApplication::Translate('- Select One -'), null);
         }
         $objPostedByPersonArray = Person::LoadAll();
         if ($objPostedByPersonArray) {
             foreach ($objPostedByPersonArray as $objPostedByPerson) {
                 $objListItem = new QListItem($objPostedByPerson->__toString(), $objPostedByPerson->Id);
                 if ($this->objWikiVersion->PostedByPerson && $this->objWikiVersion->PostedByPerson->Id == $objPostedByPerson->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstPostedByPerson->AddItem($objListItem);
             }
         }
     }
     if ($this->lblPostedByPersonId) {
         $this->lblPostedByPersonId->Text = $this->objWikiVersion->PostedByPerson ? $this->objWikiVersion->PostedByPerson->__toString() : null;
     }
     if ($this->calPostDate) {
         $this->calPostDate->DateTime = $this->objWikiVersion->PostDate;
     }
     if ($this->lblPostDate) {
         $this->lblPostDate->Text = sprintf($this->objWikiVersion->PostDate) ? $this->objWikiVersion->__toString($this->strPostDateDateTimeFormat) : null;
     }
     if ($this->lstWikiFile) {
         $this->lstWikiFile->RemoveAllItems();
         $this->lstWikiFile->AddItem(QApplication::Translate('- Select One -'), null);
         $objWikiFileArray = WikiFile::LoadAll();
         if ($objWikiFileArray) {
             foreach ($objWikiFileArray as $objWikiFile) {
                 $objListItem = new QListItem($objWikiFile->__toString(), $objWikiFile->WikiVersionId);
                 if ($objWikiFile->WikiVersionId == $this->objWikiVersion->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiFile->AddItem($objListItem);
             }
         }
         // Because WikiFile's WikiFile is not null, if a value is already selected, it cannot be changed.
         if ($this->lstWikiFile->SelectedValue) {
             $this->lstWikiFile->Enabled = false;
         } else {
             $this->lstWikiFile->Enabled = true;
         }
     }
     if ($this->lblWikiFile) {
         $this->lblWikiFile->Text = $this->objWikiVersion->WikiFile ? $this->objWikiVersion->WikiFile->__toString() : null;
     }
     if ($this->lstWikiImage) {
         $this->lstWikiImage->RemoveAllItems();
         $this->lstWikiImage->AddItem(QApplication::Translate('- Select One -'), null);
         $objWikiImageArray = WikiImage::LoadAll();
         if ($objWikiImageArray) {
             foreach ($objWikiImageArray as $objWikiImage) {
                 $objListItem = new QListItem($objWikiImage->__toString(), $objWikiImage->WikiVersionId);
                 if ($objWikiImage->WikiVersionId == $this->objWikiVersion->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiImage->AddItem($objListItem);
             }
         }
         // Because WikiImage's WikiImage is not null, if a value is already selected, it cannot be changed.
         if ($this->lstWikiImage->SelectedValue) {
             $this->lstWikiImage->Enabled = false;
         } else {
             $this->lstWikiImage->Enabled = true;
         }
     }
     if ($this->lblWikiImage) {
         $this->lblWikiImage->Text = $this->objWikiVersion->WikiImage ? $this->objWikiVersion->WikiImage->__toString() : null;
     }
     if ($this->lstWikiItemAsCurrent) {
         $this->lstWikiItemAsCurrent->RemoveAllItems();
         $this->lstWikiItemAsCurrent->AddItem(QApplication::Translate('- Select One -'), null);
         $objWikiItemArray = WikiItem::LoadAll();
         if ($objWikiItemArray) {
             foreach ($objWikiItemArray as $objWikiItem) {
                 $objListItem = new QListItem($objWikiItem->__toString(), $objWikiItem->Id);
                 if ($objWikiItem->CurrentWikiVersionId == $this->objWikiVersion->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiItemAsCurrent->AddItem($objListItem);
             }
         }
     }
     if ($this->lblWikiItemAsCurrent) {
         $this->lblWikiItemAsCurrent->Text = $this->objWikiVersion->WikiItemAsCurrent ? $this->objWikiVersion->WikiItemAsCurrent->__toString() : null;
     }
     if ($this->lstWikiPage) {
         $this->lstWikiPage->RemoveAllItems();
         $this->lstWikiPage->AddItem(QApplication::Translate('- Select One -'), null);
         $objWikiPageArray = WikiPage::LoadAll();
         if ($objWikiPageArray) {
             foreach ($objWikiPageArray as $objWikiPage) {
                 $objListItem = new QListItem($objWikiPage->__toString(), $objWikiPage->WikiVersionId);
                 if ($objWikiPage->WikiVersionId == $this->objWikiVersion->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiPage->AddItem($objListItem);
             }
         }
         // Because WikiPage's WikiPage is not null, if a value is already selected, it cannot be changed.
         if ($this->lstWikiPage->SelectedValue) {
             $this->lstWikiPage->Enabled = false;
         } else {
             $this->lstWikiPage->Enabled = true;
         }
     }
     if ($this->lblWikiPage) {
         $this->lblWikiPage->Text = $this->objWikiVersion->WikiPage ? $this->objWikiVersion->WikiPage->__toString() : null;
     }
 }
 /**
  * Default / simple DataBinder for this Meta DataGrid.  This can easily be overridden
  * by calling SetDataBinder() on this DataGrid with another DataBinder of your choice.
  *
  * If a paginator is set on this DataBinder, it will use it.  If not, then no pagination will be used.
  * It will also perform any sorting (if applicable).
  */
 public function MetaDataBinder()
 {
     // Remember!  We need to first set the TotalItemCount, which will affect the calcuation of LimitClause below
     if ($this->Paginator) {
         $this->TotalItemCount = WikiItem::CountAll();
     }
     // Setup the $objClauses Array
     $objClauses = array();
     // If a column is selected to be sorted, and if that column has a OrderByClause set on it, then let's add
     // the OrderByClause to the $objClauses array
     if ($objClause = $this->OrderByClause) {
         array_push($objClauses, $objClause);
     }
     // Add the LimitClause information, as well
     if ($objClause = $this->LimitClause) {
         array_push($objClauses, $objClause);
     }
     // Set the DataSource to be a Query result from WikiItem, given the clauses above
     $this->DataSource = WikiItem::LoadAll($objClauses);
 }
 /**
  * Refresh this MetaControl with Data from the local TopicLink object.
  * @param boolean $blnReload reload TopicLink from the database
  * @return void
  */
 public function Refresh($blnReload = false)
 {
     if ($blnReload) {
         $this->objTopicLink->Reload();
     }
     if ($this->lblId) {
         if ($this->blnEditMode) {
             $this->lblId->Text = $this->objTopicLink->Id;
         }
     }
     if ($this->lstTopicLinkType) {
         $this->lstTopicLinkType->SelectedValue = $this->objTopicLink->TopicLinkTypeId;
     }
     if ($this->lblTopicLinkTypeId) {
         $this->lblTopicLinkTypeId->Text = $this->objTopicLink->TopicLinkTypeId ? TopicLinkType::$NameArray[$this->objTopicLink->TopicLinkTypeId] : null;
     }
     if ($this->txtTopicCount) {
         $this->txtTopicCount->Text = $this->objTopicLink->TopicCount;
     }
     if ($this->lblTopicCount) {
         $this->lblTopicCount->Text = $this->objTopicLink->TopicCount;
     }
     if ($this->txtMessageCount) {
         $this->txtMessageCount->Text = $this->objTopicLink->MessageCount;
     }
     if ($this->lblMessageCount) {
         $this->lblMessageCount->Text = $this->objTopicLink->MessageCount;
     }
     if ($this->calLastPostDate) {
         $this->calLastPostDate->DateTime = $this->objTopicLink->LastPostDate;
     }
     if ($this->lblLastPostDate) {
         $this->lblLastPostDate->Text = sprintf($this->objTopicLink->LastPostDate) ? $this->objTopicLink->__toString($this->strLastPostDateDateTimeFormat) : null;
     }
     if ($this->lstForum) {
         $this->lstForum->RemoveAllItems();
         $this->lstForum->AddItem(QApplication::Translate('- Select One -'), null);
         $objForumArray = Forum::LoadAll();
         if ($objForumArray) {
             foreach ($objForumArray as $objForum) {
                 $objListItem = new QListItem($objForum->__toString(), $objForum->Id);
                 if ($this->objTopicLink->Forum && $this->objTopicLink->Forum->Id == $objForum->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstForum->AddItem($objListItem);
             }
         }
     }
     if ($this->lblForumId) {
         $this->lblForumId->Text = $this->objTopicLink->Forum ? $this->objTopicLink->Forum->__toString() : null;
     }
     if ($this->lstIssue) {
         $this->lstIssue->RemoveAllItems();
         $this->lstIssue->AddItem(QApplication::Translate('- Select One -'), null);
         $objIssueArray = Issue::LoadAll();
         if ($objIssueArray) {
             foreach ($objIssueArray as $objIssue) {
                 $objListItem = new QListItem($objIssue->__toString(), $objIssue->Id);
                 if ($this->objTopicLink->Issue && $this->objTopicLink->Issue->Id == $objIssue->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstIssue->AddItem($objListItem);
             }
         }
     }
     if ($this->lblIssueId) {
         $this->lblIssueId->Text = $this->objTopicLink->Issue ? $this->objTopicLink->Issue->__toString() : null;
     }
     if ($this->lstWikiItem) {
         $this->lstWikiItem->RemoveAllItems();
         $this->lstWikiItem->AddItem(QApplication::Translate('- Select One -'), null);
         $objWikiItemArray = WikiItem::LoadAll();
         if ($objWikiItemArray) {
             foreach ($objWikiItemArray as $objWikiItem) {
                 $objListItem = new QListItem($objWikiItem->__toString(), $objWikiItem->Id);
                 if ($this->objTopicLink->WikiItem && $this->objTopicLink->WikiItem->Id == $objWikiItem->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstWikiItem->AddItem($objListItem);
             }
         }
     }
     if ($this->lblWikiItemId) {
         $this->lblWikiItemId->Text = $this->objTopicLink->WikiItem ? $this->objTopicLink->WikiItem->__toString() : null;
     }
     if ($this->lstPackage) {
         $this->lstPackage->RemoveAllItems();
         $this->lstPackage->AddItem(QApplication::Translate('- Select One -'), null);
         $objPackageArray = Package::LoadAll();
         if ($objPackageArray) {
             foreach ($objPackageArray as $objPackage) {
                 $objListItem = new QListItem($objPackage->__toString(), $objPackage->Id);
                 if ($this->objTopicLink->Package && $this->objTopicLink->Package->Id == $objPackage->Id) {
                     $objListItem->Selected = true;
                 }
                 $this->lstPackage->AddItem($objListItem);
             }
         }
     }
     if ($this->lblPackageId) {
         $this->lblPackageId->Text = $this->objTopicLink->Package ? $this->objTopicLink->Package->__toString() : null;
     }
 }
                $objWikiObject->Description = QDataGen::GenerateContent(rand(1, 3), 10, 50);
                $strPath = QDataGen::GenerateFromArray($strRandomFilePathArray);
                $strArray = pathinfo($strPath);
                $strFileName = str_replace(' ', '', $strName) . '.' . $strArray['extension'];
                $strMethodName = 'SaveFile';
                $arrMethodParameters = array($strPath, $strFileName);
                break;
            default:
                throw new Exception('Unknown handler for WikiItemTypeId: ' . $objWikiItem->WikiItemTypeId);
        }
        $objWikiItem->CreateNewVersion($strName, $objWikiObject, $strMethodName, $arrMethodParameters, $objPerson, $dttPostDate);
    }
}
// Generate Messages for Wiki
QDataGen::DisplayForEachTaskStart($strTitle = 'Generating Messages for Wiki', WikiItem::CountAll());
foreach (WikiItem::LoadAll() as $objWikiItem) {
    QDataGen::DisplayForEachTaskNext($strTitle);
    $intCount = rand(1, GENERATE_MESSAGES_PER_WIKI_UBOUND);
    if (rand(0, 1)) {
        $intCount = round($intCount / 2);
    }
    if (rand(0, 1)) {
        $intCount = round($intCount / 2);
    }
    if (rand(0, 1)) {
        $intCount = round($intCount / 2);
    }
    if (rand(0, 1)) {
        $intCount = round($intCount / 2);
    }
    if (rand(0, 1)) {