protected function Form_Create() { parent::Form_Create(); $this->dtgShowcaseItems = new ShowcaseItemDataGrid($this); $this->dtgShowcaseItems->Paginator = new QPaginator($this->dtgShowcaseItems); $this->dtgShowcaseItems->AlternateRowStyle->CssClass = 'alternate'; $this->dtgShowcaseItems->Noun = 'showcase item'; $this->dtgShowcaseItems->NounPlural = 'showcase items'; $this->dtgShowcaseItems->SetDataBinder('dtgShowcaseItems_Bind'); $this->dtgShowcaseItems->ItemsPerPage = 20; $this->dtgShowcaseItems->AddColumn(new QDataGridColumn('Actions', '<?= $_FORM->RenderActions($_ITEM); ?>', 'HtmlEntities=false', 'Width=100px', 'FontSize=10px')); $this->dtgShowcaseItems->MetaAddColumn('Name', 'Width=400px'); $this->dtgShowcaseItems->MetaAddColumn('Url', 'Width=285px'); $this->dtgShowcaseItems->MetaAddColumn('LiveFlag', 'Name=Live?', 'Width=50px'); $this->dtgShowcaseItems->MetaAddColumn(QQN::ShowcaseItem()->Person->DisplayName, 'Name=By', 'Html=<?= $_FORM->RenderPostedBy($_ITEM); ?>', 'HtmlEntities=false', 'Width=100px', 'CssClass=small reverseLink'); $this->lstLiveFlag = new QListBox($this); $this->lstLiveFlag->Name = 'Filter by Live Flag'; $this->lstLiveFlag->AddItem('- View All -', null); $this->lstLiveFlag->AddItem('Live', true); $this->lstLiveFlag->AddItem('Not Live', false); $this->lstLiveFlag->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->pxyToggle = new QControlProxy($this); $this->pxyToggle->AddAction(new QClickEvent(), new QAjaxAction('pxyToggle_Click')); $this->pxyToggle->AddAction(new QClickEvent(), new QTerminateAction()); $this->pxyView = new QControlProxy($this); $this->pxyView->AddAction(new QClickEvent(), new QAjaxAction('pxyView_Click')); $this->pxyView->AddAction(new QClickEvent(), new QTerminateAction()); $this->dlgBox = new QDialogBox($this); $this->dlgBox->MatteClickable = false; $this->dlgBox->HideDialogBox(); $this->btnClose = new QButton($this->dlgBox); $this->btnClose->AddAction(new QClickEvent(), new QHideDialogBox($this->dlgBox)); }
protected function Form_Create() { parent::Form_Create(); $this->lnkHome = new RoundedLinkButton($this); $this->lnkHome->Text = 'Back to Home'; $this->lnkHome->LinkUrl = '/'; $this->lnkHome->AddCssClass('roundedLinkGray'); }
protected function Form_Create() { parent::Form_Create(); $this->txtSearch = new SearchTextBox($this, 'txtSearch'); $this->txtSearch->Text = QApplication::QueryString('search'); $this->txtSearch->AddAction(new QEnterKeyEvent(0, "qc.getControl('txtSearch').value != ''"), new QServerAction('txtSearch_Enter')); $this->txtSearch->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->dtrForums = new QDataRepeater($this, 'dtrForums'); $this->dtrForums->Template = 'dtrForums.tpl.php'; $this->dtrForums->SetDataBinder('dtrForums_Bind'); }
protected function Form_Create() { parent::Form_Create(); $this->dtrPackageCategories = new QDataRepeater($this); $this->dtrPackageCategories->Template = 'dtrPackageCategories.tpl.php'; $this->dtrPackageCategories->SetDataBinder('dtrPackageCategories_Bind'); $this->btnNew = new RoundedLinkButton($this); $this->btnNew->CssClass = 'searchOption'; $this->btnNew->ToolTip = 'Create a new QPM package'; $this->btnNew->LinkUrl = '/qpm/edit.php/new'; }
protected function Form_Create() { parent::Form_Create(); $this->strSanitizedPath = WikiItem::SanitizeForPath(QApplication::$PathInfo, $intWikiItemTypeId); if ($this->intWikiItemTypeId != $intWikiItemTypeId) { throw new Exception('WikiItemTypeId Mismatch'); } $this->objWikiItem = WikiItem::LoadByPathWikiItemTypeId($this->strSanitizedPath, $this->intWikiItemTypeId); $strWikiType = WikiItemType::$TokenArray[$this->intWikiItemTypeId]; $strWikiClassName = 'Wiki' . $strWikiType; // See if we're editing or creating new if (!$this->objWikiItem) { $this->objWikiItem = new WikiItem(); $objWikiVersion = new WikiVersion(); $objWikiObject = new $strWikiClassName(); $this->blnEditMode = false; $this->strPageTitle = 'Create New Wiki ' . $strWikiType; $this->strHeadline = 'Create a New Wiki ' . $strWikiType; } else { // Make sure this person is allowed to edit it if (!$this->objWikiItem->IsEditableForPerson(QApplication::$Person)) { QApplication::Redirect($this->objWikiItem->UrlPath); } // Get the Wiki Version object based on the $_GET variables, or use CurrentWikiVersion if none passed in $arrGetKeys = array_keys($_GET); $objWikiVersion = null; if (count($arrGetKeys) == 1) { $objWikiVersion = WikiVersion::LoadByWikiItemIdVersionNumber($this->objWikiItem->Id, $arrGetKeys[0]); } if (!$objWikiVersion) { $objWikiVersion = $this->objWikiItem->CurrentWikiVersion; } if (!$objWikiVersion->IsCurrentVersion()) { $this->intVersionNumber = $objWikiVersion->VersionNumber; } $objWikiObject = $objWikiVersion->__get($strWikiClassName); $this->blnEditMode = true; $this->strPageTitle .= $objWikiVersion->Name; $this->strHeadline = 'Edit Wiki ' . $strWikiType; } $this->CreateControlsForWikiVersionAndObject($objWikiVersion, $objWikiObject); $this->btnOkay = new QButton($this); $this->btnOkay->CausesValidation = true; $this->btnOkay->Text = $this->blnEditMode ? 'Update Wiki ' : 'Save New Wiki '; $this->btnOkay->Text .= $strWikiType; $this->btnCancel = new QLinkButton($this); $this->btnCancel->Text = 'Cancel'; $this->btnOkay->AddAction(new QClickEvent(), new QToggleEnableAction($this->btnOkay)); $this->btnOkay->AddAction(new QClickEvent(), new QServerAction('btnOkay_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QServerAction('btnCancel_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QTerminateAction()); $this->txtTitle->Focus(); }
protected function Form_Validate($blnToReturn = true) { // Check Password Confirm if ($this->txtNewPassword->Text != $this->txtConfirmPassword->Text) { $this->txtConfirmPassword->Warning = 'Does not match'; $blnToReturn = false; } // Check Old Password if (!QApplication::$Person->IsPasswordValid($this->txtOldPassword->Text)) { $this->txtOldPassword->Warning = 'Invalid Password'; $blnToReturn = false; } return parent::Form_Validate($blnToReturn); }
protected function Form_Create() { parent::Form_Create(); $this->objPackage = Package::LoadByToken(QApplication::PathInfo(0)); if (!$this->objPackage) { QApplication::Redirect('/qpm/'); } $this->strPageTitle .= $this->objPackage->Name; $this->dtgContributions = new PackageContributionDataGrid($this); $this->dtgContributions->SetDataBinder('dtgContributions_Bind'); $this->dtgContributions->AlternateRowStyle->CssClass = 'alternate'; $this->dtgContributions->MetaAddColumn(QQN::PackageContribution()->Person->Username, 'Name=QPM Path for Version', 'Html=<?= $_FORM->RenderPath($_ITEM); ?>', 'Width=350px', 'VerticalAlign=top', 'FontNames=Monaco, Courier, Courier New,Monospaced', 'HtmlEntities=false'); $this->dtgContributions->MetaAddColumn(QQN::PackageContribution()->CurrentPackageVersion->Notes, 'Name=Version Notes', 'Html=<?= $_FORM->RenderNotes($_ITEM); ?>', 'Width=400px', 'VerticalAlign=top', 'CssClass=small', 'HtmlEntities=false'); $this->dtgContributions->MetaAddColumn('CurrentPostDate', 'Name=Posted', 'Width=100px', 'VerticalAlign=top'); $this->dtgContributions->MetaAddColumn(QQN::PackageContribution()->Person->DisplayName, 'Name=By', 'Html=<?= $_FORM->RenderPostedBy($_ITEM); ?>', 'HtmlEntities=false', 'Width=100px', 'CssClass=reverseLink', 'VerticalAlign=top'); $this->dtgContributions->SortColumnIndex = 2; $this->dtgContributions->SortDirection = 1; $this->dtgContributions->Paginator = new QPaginator($this->dtgContributions); if ($this->objPackage->IsEditableForPerson(QApplication::$Person)) { $this->btnEdit = new RoundedLinkButton($this); $this->btnEdit->CssClass = 'searchOption'; $this->btnEdit->ToolTip = 'Edit This package'; $this->btnEdit->LinkUrl = '/qpm/edit.php/' . $this->objPackage->Token; } // Setup messages panel if ($this->objPackage->PackageCategory->Token != 'issues') { $this->pnlMessages = new MessagesPanel($this); $this->pnlMessages->SelectTopic($this->objPackage->TopicLink->GetTopic()); $this->pnlMessages->lblTopicInfo_SetTemplate(__INCLUDES__ . '/messages/lblTopicInfoForPackage.tpl.php'); $this->pnlMessages->btnRespond1->Text = 'Post Comment'; $this->pnlMessages->btnRespond2->Text = 'Post Comment'; $this->pnlMessages->strAdditionalCssClass = 'topicForPackage'; if (array_key_exists('lastpage', $_GET)) { $this->pnlMessages->SetPageNumber(QPaginatedControl::LastPage); } } else { $strTokenParts = explode('_', $this->objPackage->Token); if (count($strTokenParts) == 2) { $strIssueNumber = $strTokenParts[1]; } else { $strIssueNumber = null; } $this->pnlMessages = new QPanel($this); $this->pnlMessages->CssClass = 'topic topicForPackage'; $this->pnlMessages->Text = '<h1>Comments</h1>'; $this->pnlMessages->Text .= '<br/>Comments for this issue-related QPM package have been disabled on this screen. To view, post and edit comments, '; $this->pnlMessages->Text .= 'please do so on the <a href="/issues/view.php/' . $strIssueNumber . '">issue page</a>, itself.'; } }
protected function Form_Validate($blnToReturn = true) { // Check Username if (($strUsername = trim($this->txtUsername->Text)) && ($objPerson = Person::LoadByUsername($strUsername)) && $objPerson->Id != $this->mctPerson->Person->Id) { $this->txtUsername->Warning = 'Username already taken'; $blnToReturn = false; } if (trim(strlen($this->txtUsername->Text)) < 6) { $this->txtUsername->Warning = 'Username must be at least 6 alphanumeric characters'; $blnToReturn = false; } // Is Email Taken? if (($objPerson = Person::LoadByEmail(trim(strtolower($this->txtEmail->Text)))) && $objPerson->Id != $this->mctPerson->Person->Id) { $this->txtEmail->Warning = 'Email is already taken'; $blnToReturn = false; } return parent::Form_Validate($blnToReturn); }
protected function Form_Create() { parent::Form_Create(); $this->dtgWikiItems = new WikiItemDataGrid($this); // $this->dtgWikiItems->CssClass = 'datagrid issuesDataGrid'; $this->dtgWikiItems->Paginator = new QPaginator($this->dtgWikiItems); $this->dtgWikiItems->AlternateRowStyle->CssClass = 'alternate'; $this->dtgWikiItems->Noun = 'wiki item'; $this->dtgWikiItems->NounPlural = 'wiki items'; $this->dtgWikiItems->SetDataBinder('dtgWikiItems_Bind'); $this->dtgWikiItems->ItemsPerPage = 20; $this->dtgWikiItems->MetaAddTypeColumn('WikiItemTypeId', 'WikiItemType', 'Name=Wiki Type', 'Width=80px'); $this->dtgWikiItems->MetaAddColumn('CurrentName', 'Name=Title', 'Width=340px'); $this->dtgWikiItems->MetaAddColumn('Path', 'Html=<?= $_FORM->RenderPath($_ITEM); ?>', 'HtmlEntities=false', 'Width=310px'); $this->dtgWikiItems->MetaAddColumn('CurrentPostDate', 'Name=Last Updated', 'Width=110px', 'CssClass=small'); $this->dtgWikiItems->MetaAddColumn(QQN::WikiItem()->CurrentPostedByPerson->DisplayName, 'Name=By', 'Html=<?= $_FORM->RenderPostedBy($_ITEM); ?>', 'HtmlEntities=false', 'Width=100px', 'CssClass=small reverseLink'); $this->dtgWikiItems->GetColumnByName('Wiki Type')->OrderByClause = QQ::OrderBy(QQN::WikiItem()->WikiItemTypeId, QQN::WikiItem()->CurrentName); $this->dtgWikiItems->GetColumnByName('Wiki Type')->ReverseOrderByClause = QQ::OrderBy(QQN::WikiItem()->WikiItemTypeId, false, QQN::WikiItem()->CurrentName, false); $this->dtgWikiItems->SortColumnIndex = 0; $this->lstWikiItemType = new QListBox($this); $this->lstWikiItemType->Name = 'Wiki Type'; $this->lstWikiItemType->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->lstWikiItemType->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->lstWikiItemType->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->lstWikiItemType->AddItem('- View All -', null); foreach (WikiItemType::$NameArray as $intId => $strName) { $this->lstWikiItemType->AddItem($strName, $intId); } $this->txtTitle = new QTextBox($this); $this->txtTitle->Name = 'Title'; $this->txtTitle->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtTitle->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtTitle->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtPath = new QTextBox($this); $this->txtPath->Name = 'Path'; $this->txtPath->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtPath->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtPath->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtPostedBy = new QTextBox($this); $this->txtPostedBy->Name = 'Posted By'; $this->txtPostedBy->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtPostedBy->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtPostedBy->AddAction(new QEnterKeyEvent(), new QTerminateAction()); }
protected function Form_Create() { parent::Form_Create(); $objShowcases = ShowcaseItem::LoadArrayByLiveFlag(true); $this->objShowcaseArray = array(); while (count($this->objShowcaseArray) < 14 && count($objShowcases)) { $intKeyArray = array_keys($objShowcases); $intRandomKey = $intKeyArray[rand(0, count($intKeyArray) - 1)]; $this->objShowcaseArray[] = $objShowcases[$intRandomKey]; unset($objShowcases[$intRandomKey]); } $this->btnNew = new RoundedLinkButton($this); $this->btnNew->Text = 'Submit a Project or Site'; $this->btnNew->AddAction(new QClickEvent(), new QAjaxAction('btnNew_Click')); $this->btnNew->AddAction(new QClickEvent(), new QTerminateAction()); $this->pxyItem = new QControlProxy($this); $this->pxyItem->AddAction(new QClickEvent(), new QAjaxAction('pxyItem_Click')); $this->pxyItem->AddAction(new QClickEvent(), new QTerminateAction()); if (ShowcaseItem::IsAdminableForPerson(QApplication::$Person)) { $this->btnAdmin = new RoundedLinkButton($this); $this->btnAdmin->Text = 'Administer Showcase Items'; $this->btnAdmin->LinkUrl = '/showcase/admin.php'; } $this->dlgBox = new QDialogBox($this); $this->dlgBox->MatteClickable = true; $this->dlgBox->HideDialogBox(); $this->btnClose = new QButton($this->dlgBox); $this->btnClose->AddAction(new QClickEvent(), new QHideDialogBox($this->dlgBox)); $this->txtName = new QTextBox($this->dlgBox); $this->txtName->Required = true; $this->txtDescription = new QTextBox($this->dlgBox); $this->txtDescription->TextMode = QTextMode::MultiLine; $this->txtUrl = new UrlTextBox($this->dlgBox); $this->txtUrl->Required = true; $this->flcImage = new QFileControl($this->dlgBox); $this->flcImage->Required = true; $this->btnOkay = new QButton($this->dlgBox); $this->btnOkay->CausesValidation = true; $this->btnOkay->AddAction(new QClickEvent(), new QServerAction('btnOkay_Click')); $this->btnCancel = new QLinkButton($this->dlgBox); $this->btnCancel->AddAction(new QClickEvent(), new QHideDialogBox($this->dlgBox)); $this->btnCancel->AddAction(new QClickEvent(), new QTerminateAction()); }
protected function Form_Create() { parent::Form_Create(); // Define Controls $this->txtUsername = new QTextBox($this, 'username'); $this->txtUsername->Name = 'Email / Username'; $this->txtUsername->MaxLength = Person::EmailMaxLength; $this->txtUsername->Required = true; $this->txtPassword = new QTextBox($this, 'password'); $this->txtPassword->Name = 'Password'; $this->txtPassword->MaxLength = Person::PasswordMaxLength; $this->txtPassword->TextMode = QTextMode::Password; $this->txtPassword->Required = true; $this->txtPassword->CausesValidation = true; $this->btnLogin = new QButton($this); $this->btnLogin->Text = 'Log In'; $this->btnLogin->Name = ' '; $this->btnLogin->CausesValidation = true; $this->chkRemember = new QCheckBox($this); $this->chkRemember->HtmlEntities = false; $this->lnkRegister = new RoundedLinkButton($this); $this->lnkRegister->Text = 'Register'; $this->lnkRegister->LinkUrl = '/register/'; $this->lnkRegister->AddCssClass('roundedLinkGray'); $this->lnkForgot = new RoundedLinkButton($this); $this->lnkForgot->Text = 'Forgot My Password'; if (array_key_exists('strReferer', $_GET)) { $this->lnkForgot->LinkUrl = '/login/forgot.php?strReferer=' . urlencode($_GET['strReferer']); } else { $this->lnkForgot->LinkUrl = '/login/forgot.php'; } $this->lnkForgot->AddCssClass('roundedLinkGray'); // Add Actions $this->txtUsername->AddAction(new QEnterKeyEvent(), new QFocusControlAction($this->txtPassword)); $this->txtUsername->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtPassword->AddAction(new QEnterKeyEvent(), new QServerAction('btnLogin_Click')); $this->txtPassword->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->btnLogin->AddAction(new QClickEvent(), new QServerAction('btnLogin_Click')); // Initial Focus $this->txtUsername->Focus(); }
protected function Form_Create() { parent::Form_Create(); $this->objCategory = PackageCategory::LoadByToken(QApplication::PathInfo(0)); if (!$this->objCategory) { QApplication::Redirect('/qpm/'); } $this->strPageTitle .= $this->objCategory->Name; $this->dtgPackages = new PackageDataGrid($this); $this->dtgPackages->SetDataBinder('dtgPackages_Bind'); $this->dtgPackages->AlternateRowStyle->CssClass = 'alternate'; $this->dtgPackages->MetaAddColumn('Name', 'VerticalAlign=top', 'Width=250px'); $this->dtgPackages->MetaAddColumn('Token', 'Name=Path', 'VerticalAlign=top', 'Width=190px', 'HtmlEntities=false', 'Html=<a href="/qpm/package.php/<?= $_ITEM->Token; ?>" title="View Package Details"><?= $_ITEM->Token; ?></a>'); $this->dtgPackages->MetaAddColumn('Description', 'CssClass=small', 'Width=300px'); $this->dtgPackages->MetaAddColumn('LastPostDate', 'Name=Last Upload', 'Width=100px', 'VerticalAlign=top', 'CssClass=small'); $this->dtgPackages->MetaAddColumn(QQN::Package()->LastPostedByPerson->DisplayName, 'Name=By', 'Html=<?= $_FORM->RenderPostedBy($_ITEM); ?>', 'HtmlEntities=false', 'Width=100px', 'CssClass=small reverseLink', 'VerticalAlign=top'); $this->dtgPackages->Paginator = new QPaginator($this->dtgPackages); $this->btnNew = new RoundedLinkButton($this); $this->btnNew->CssClass = 'searchOption'; $this->btnNew->ToolTip = 'Create a new QPM package'; $this->btnNew->LinkUrl = '/qpm/edit.php/new'; }
protected function Form_Create() { parent::Form_Create(); $this->objIssue = Issue::Load(QApplication::PathInfo(0)); if (!$this->objIssue) { QApplication::Redirect('/issues/'); } $this->strPageTitle .= $this->objIssue->Title; $this->pnlDetails = new QPanel($this); $this->pnlDetails->Template = dirname(__FILE__) . '/pnlDetails.tpl.php'; $objTopic = $this->objIssue->TopicLink->GetTopic(); $objTopic->MarkAsViewed(); $this->pnlMessages = new MessagesPanel($this); $this->pnlMessages->SelectTopic($objTopic); $this->pnlMessages->lblTopicInfo_SetTemplate(__INCLUDES__ . '/messages/lblTopicInfoForIssue.tpl.php'); if (QApplication::PathInfo(1) == 'lastpage') { $this->pnlMessages->SetPageNumber(QPaginatedControl::LastPage); } $this->SetupIssueInformationControls(); $this->SetupVotingControls(); $this->SetupSubmitFixControls(); }
protected function Form_Create() { parent::Form_Create(); // Get the Wiki Item and confirm that it exists and that he is authorized to admin $this->strSanitizedPath = WikiItem::SanitizeForPath(QApplication::$PathInfo, $this->intWikiItemTypeId); $this->objWikiItem = WikiItem::LoadByPathWikiItemTypeId($this->strSanitizedPath, $this->intWikiItemTypeId); if (!$this->objWikiItem) { QApplication::Redirect('/'); } if (!$this->objWikiItem->IsAdminableForPerson(QApplication::$Person)) { QApplication::RedirectToLogin(); } $this->strPageTitle .= $this->objWikiItem->CurrentName; $this->lstEditorMinimum = new QListBox($this); foreach (PersonType::$NameArray as $intTypeId => $strName) { $this->lstEditorMinimum->AddItem($strName, $intTypeId, $intTypeId == $this->objWikiItem->EditorMinimumPersonTypeId); } $this->lstNavItem = new QListBox($this); $this->lstNavItem->AddItem('- Default -', null); foreach (QApplication::$NavBarArray as $intIndex => $arrItems) { $this->lstNavItem->AddItem($arrItems[0], $intIndex, !is_null($this->objWikiItem->OverrideNavbarIndex) && $this->objWikiItem->OverrideNavbarIndex == $intIndex); } if (is_null($this->lstNavItem->SelectedValue)) { $this->lstNavItem->SelectedIndex = 0; } $this->lstNavItem->AddAction(new QChangeEvent(), new QAjaxAction('lstNavItem_Change')); $this->lstSubNavItem = new QListBox($this); $this->lstNavItem_Change(null, null, null); $this->btnOkay = new QButton($this); $this->btnOkay->CausesValidation = true; $this->btnOkay->Text = 'Update'; $this->btnCancel = new QLinkButton($this); $this->btnCancel->Text = 'Cancel'; $this->btnOkay->AddAction(new QClickEvent(), new QToggleEnableAction($this->btnOkay)); $this->btnOkay->AddAction(new QClickEvent(), new QAjaxAction('btnOkay_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QAjaxAction('btnCancel_Click')); $this->btnCancel->AddAction(new QClickEvent(), new QTerminateAction()); }
protected function Form_Create() { parent::Form_Create(); // Define Controls $this->txtEmail = new EmailTextBox($this, 'email'); $this->txtEmail->Name = 'Email'; $this->txtEmail->MaxLength = Person::EmailMaxLength; $this->txtEmail->Required = true; $this->txtEmail->CausesValidation = true; $this->btnSend = new QButton($this); $this->btnSend->Text = 'Reset My Password'; $this->btnSend->Name = ' '; $this->btnSend->CausesValidation = true; $this->lnkRegister = new RoundedLinkButton($this); $this->lnkRegister->Text = 'Register'; $this->lnkRegister->LinkUrl = '/register/'; $this->lnkRegister->AddCssClass('roundedLinkGray'); $this->lnkLogin = new RoundedLinkButton($this); $this->lnkLogin->Text = 'Login'; $this->lnkLogin->LinkUrl = '/login/'; $this->lnkLogin->AddCssClass('roundedLinkGray'); // Add Actions $this->txtEmail->AddAction(new QEnterKeyEvent(), new QAjaxAction('btnSend_Click')); $this->txtEmail->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->btnSend->AddAction(new QClickEvent(), new QAjaxAction('btnSend_Click')); // Initial Focus $this->txtEmail->Focus(); // Result $this->dlgResult = new QDialogBox($this); $this->dlgResult->Text = '<h1>Password Reset</h1><p>Your username and new password should be emailed to you within the next few minutes.</p>' . '<p class="hint">Note that <strong>Qcodo.com</strong> emails could also show up in your <strong>SPAM</strong> or <strong>Junk Mail</strong> folder.</p><br/>'; $this->dlgResult->MatteClickable = false; $this->dlgResult->AutoRenderChildren = true; $this->dlgResult->HideDialogBox(); $this->dlgResult->CssClass = 'dialogbox'; $this->btnOkay = new QButton($this->dlgResult); $this->btnOkay->Text = 'Okay'; $this->btnOkay->AddAction(new QClickEvent(), new QServerAction('btnOkay_Click')); }
protected function Form_Create() { parent::Form_Create(); // Define MetaControl on the Person Object we are editing $objPerson = null; // Administrators are able to edit anyone's profile if (QApplication::$Person->PersonTypeId == PersonType::Administrator && ($strUsername = QApplication::PathInfo(0))) { $objPerson = Person::LoadByUsername($strUsername); } // Everyone else will just be allowed to edit themselves if (!$objPerson) { $objPerson = QApplication::$Person; } // Define the MetaControl, itself $this->mctPerson = new PersonMetaControl($this, $objPerson); // Update the Page Title if Not Editing Myself (for administrators) if (QApplication::$Person->Id != $this->mctPerson->Person->Id) { $this->strPageTitle = 'Edit Profile - ' . $this->mctPerson->Person->DisplayName; } // Define Controls $this->lstTimezone = $this->mctPerson->lstTimezone_Create('timezone'); $this->chkDisplayRealNameFlag = $this->mctPerson->chkDisplayRealNameFlag_Create('realName'); $this->chkDisplayEmailFlag = $this->mctPerson->chkDisplayEmailFlag_Create('displayEmail'); $this->chkOptInFlag = $this->mctPerson->chkOptInFlag_Create('optIn'); $this->txtLocation = $this->mctPerson->txtLocation_Create('location'); $this->lstCountry = $this->mctPerson->lstCountry_Create('country'); $this->txtUrl = $this->mctPerson->txtUrl_Create('url'); // Define Buttons $this->btnUpdate = new QButton($this); $this->btnUpdate->CausesValidation = true; $this->btnCancel = new QLinkButton($this); $this->btnCancel->LinkUrl = $this->mctPerson->Person->ViewProfileUrl; // Add Actions $this->btnUpdate->AddAction(new QClickEvent(), new QAjaxAction('btnUpdate_Click')); // Initial Focus $this->lstTimezone->Focus(); }
protected function Form_Create() { parent::Form_Create(); $this->dtgIssues = new IssueDataGrid($this, 'issues'); $this->dtgIssues->CssClass = 'datagrid issuesDataGrid'; $this->dtgIssues->Paginator = new QPaginator($this->dtgIssues); $this->dtgIssues->AlternateRowStyle->CssClass = 'alternate'; $this->dtgIssues->Noun = 'issue'; $this->dtgIssues->NounPlural = 'issues'; $this->dtgIssues->SetDataBinder('dtgIssues_Bind'); $this->dtgIssues->MetaAddColumn('Id', 'Html=<?= $_FORM->RenderId($_ITEM); ?>', 'Name=Issue ID', 'HtmlEntities=false'); $this->dtgIssues->MetaAddColumn('Title', 'Html=<?= $_FORM->RenderTitle($_ITEM); ?>', 'Name=Summary', 'HtmlEntities=false'); $this->dtgIssues->MetaAddTypeColumn('IssuePriorityTypeId', 'IssuePriorityType', 'Name=Priority'); $this->dtgIssues->MetaAddTypeColumn('IssueStatusTypeId', 'IssueStatusType', 'Html=<?= $_FORM->RenderStatus($_ITEM); ?>', 'HtmlEntities=false', 'Name=Status'); $this->dtgIssues->AddColumn(new QDataGridColumn('Category', '<?= $_FORM->RenderCategory($_ITEM); ?>', 'CssClass=small')); $this->dtgIssues->MetaAddColumn('PostDate', 'Name=Posted', 'CssClass=small'); $this->dtgIssues->MetaAddColumn(QQN::Issue()->PostedByPerson->DisplayName, 'Name=By', 'Html=<?= $_FORM->RenderPostedBy($_ITEM); ?>', 'HtmlEntities=false', 'CssClass=small reverseLink'); $this->dtgIssues->MetaAddColumn(QQN::Issue()->TopicLink->LastPostDate, 'Name=Last Updated', 'CssClass=small'); $this->dtgIssues->MetaAddColumn(QQN::Issue()->AssignedToPerson->DisplayName, 'Name=Assigned To', 'Html=<?= $_FORM->RenderAssignedTo($_ITEM); ?>', 'HtmlEntities=false', 'CssClass=small reverseLink'); $this->dtgIssues->GetColumnByName('Status')->OrderByClause = QQ::OrderBy(QQN::Issue()->IssueStatusTypeId, QQN::Issue()->IssueResolutionTypeId); $this->dtgIssues->GetColumnByName('Status')->ReverseOrderByClause = QQ::OrderBy(QQN::Issue()->IssueStatusTypeId, false, QQN::Issue()->IssueResolutionTypeId, false); $this->dtgIssues->SortColumnIndex = 7; $this->dtgIssues->SortDirection = 1; $this->objIssueFieldForCategory = IssueField::LoadIssueFieldForCategory(); $this->objIssueFieldForQcodoVersion = IssueField::LoadIssueFieldForQcodoVersion(); $this->objIssueFieldForPhpVersion = IssueField::LoadIssueFieldForPhpVersion(); $this->txtId = new QIntegerTextBox($this); $this->txtId->Name = 'Go to Issue by ID'; $this->txtId->AddAction(new QChangeEvent(), new QAjaxAction('txtId_Change')); $this->txtId->AddAction(new QEnterKeyEvent(), new QAjaxAction('txtId_Change')); $this->txtId->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtId->CausesValidation = $this->txtId; $this->btnNew = new RoundedLinkButton($this); $this->btnNew->CssClass = 'searchOption'; $this->btnNew->ToolTip = 'Report a new bug or issue'; $this->btnNew->LinkUrl = '/issues/edit.php/new'; $this->txtSummary = new QTextBox($this); $this->txtSummary->Name = 'Summary'; $this->txtSummary->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtSummary->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtSummary->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->lstCategory = new QListBox($this); $this->lstCategory->Name = 'Category'; $this->lstCategory->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->lstCategory->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->lstCategory->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->lstCategory->AddItem('- View All -', null); foreach ($this->objIssueFieldForCategory->GetIssueFieldOptionArray(QQ::OrderBy(QQN::IssueFieldOption()->OrderNumber)) as $objOption) { $this->lstCategory->AddItem($objOption->Name, $objOption->Id); } $this->lstPriority = new QListBox($this); $this->lstPriority->Name = 'Priority'; $this->lstPriority->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->lstPriority->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->lstPriority->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->lstPriority->AddItem('- View All -', null); foreach (IssuePriorityType::$NameArray as $intKey => $strName) { $this->lstPriority->AddItem($strName, $intKey); } $this->lstStatus = new QListBox($this); $this->lstStatus->Name = 'Status'; $this->lstStatus->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->lstStatus->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->lstStatus->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->lstStatus->AddItem('- View All -', null); foreach (IssueStatusType::$NameArray as $intKey => $strName) { $this->lstStatus->AddItem($strName, $intKey); } $this->txtPostedBy = new QTextBox($this); $this->txtPostedBy->Name = 'Posted By'; $this->txtPostedBy->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtPostedBy->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtPostedBy->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtAssignedTo = new QTextBox($this); $this->txtAssignedTo->Name = 'Assigned To'; $this->txtAssignedTo->AddAction(new QChangeEvent(), new QAjaxAction('Refresh')); $this->txtAssignedTo->AddAction(new QEnterKeyEvent(), new QAjaxAction('Refresh')); $this->txtAssignedTo->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->chkIncludeClosed = new QCheckBox($this); $this->chkIncludeClosed->AddAction(new QClickEvent(), new QAjaxAction('Refresh')); }
protected function Form_Create() { $this->strSanitizedPath = WikiItem::SanitizeForPath(QApplication::$PathInfo, $this->intWikiItemTypeId); $this->objWikiItem = WikiItem::LoadByPathWikiItemTypeId($this->strSanitizedPath, $this->intWikiItemTypeId); $this->strPageTitle .= sprintf(' %s - ', WikiItemType::$NameArray[$this->intWikiItemTypeId]); // If Doesn't Exist, Show the 404 page if (!$this->objWikiItem) { parent::Form_Create(); $this->strHtmlIncludeFilePath = dirname(__FILE__) . '/index_404.tpl.php'; $this->strPageTitle .= QApplication::$PathInfo; return; } // cleanup any dangling versions (if applicable) if (!$this->objWikiItem->CurrentWikiVersion) { if ($this->objWikiItem->CleanupOrphans()) { parent::Form_Create(); $this->strHtmlIncludeFilePath = dirname(__FILE__) . '/index_404.tpl.php'; $this->strPageTitle .= QApplication::$PathInfo; return; } } // Get the Wiki Version object based on the $_GET variables, or use CurrentWikiVersion if none passed in $arrGetKeys = array_keys($_GET); if (count($arrGetKeys) == 1) { $this->objWikiVersion = WikiVersion::LoadByWikiItemIdVersionNumber($this->objWikiItem->Id, $arrGetKeys[0]); } if (!$this->objWikiVersion) { $this->objWikiVersion = $this->objWikiItem->CurrentWikiVersion; } // Setup NavBar and SubNav stuff (if applicable) and setup PageTitle if (!is_null($this->objWikiItem->OverrideNavbarIndex)) { $this->intNavBarIndex = $this->objWikiItem->OverrideNavbarIndex; $this->intSubNavIndex = $this->objWikiItem->OverrideSubnavIndex; $this->strPageTitle = $this->objWikiVersion->Name; } else { $this->strPageTitle .= $this->objWikiVersion->Name; } // Create Controls for Page parent::Form_Create(); if ($this->objWikiItem->IsEditableForPerson(QApplication::$Person)) { $this->btnSetAsCurrentVersion = new QLinkButton($this); $this->btnSetAsCurrentVersion->Text = 'Set as Current'; $this->btnSetAsCurrentVersion->AddAction(new QClickEvent(), new QAjaxAction('btnSetAsCurrentVersion_Click')); $this->btnSetAsCurrentVersion->AddAction(new QClickEvent(), new QTerminateAction()); } // Setup the Main Content Area $this->pnlContent = new QPanel($this); $this->pnlContent->CssClass = 'wiki'; $this->pnlContentHeadline = new QPanel($this->pnlContent); $this->pnlContentHeadline->Template = 'pnlContentHeadline.tpl.php'; $this->btnEdit = new RoundedLinkButton($this->pnlContentHeadline); $this->btnEdit->AddAction(new QClickEvent(), new QAjaxAction('btnEdit_Click')); $this->btnEdit->AddAction(new QClickEvent(), new QTerminateAction()); $this->btnEdit->AddCssClass('roundedLinkGray'); $this->btnToggleVersions = new RoundedLinkButton($this->pnlContentHeadline); $this->btnToggleVersions->AddAction(new QClickEvent(), new QAjaxAction('btnToggleVersions_Click')); $this->btnToggleVersions->AddAction(new QClickEvent(), new QTerminateAction()); $this->btnToggleMessages = new RoundedLinkButton($this->pnlContentHeadline); $this->btnToggleMessages->AddAction(new QClickEvent(), new QAjaxAction('btnToggleMessages_Click')); $this->btnToggleMessages->AddAction(new QClickEvent(), new QTerminateAction()); if ($this->objWikiItem->IsAdminableForPerson(QApplication::$Person)) { $this->btnAdmin = new RoundedLinkButton($this->pnlContentHeadline); $this->btnAdmin->AddAction(new QClickEvent(), new QAjaxAction('btnAdmin_Click')); $this->btnAdmin->AddAction(new QClickEvent(), new QTerminateAction()); $this->btnAdmin->AddCssClass('roundedLinkGray'); $this->btnAdmin->Text = 'Admin This Wiki'; } $this->pnlVersions = new WikiVersionsPanel($this->objWikiItem, $this, 'wikiVersionsPanel'); if (count($arrGetKeys) && is_numeric($arrGetKeys[0])) { $this->pnlVersions_Show(); } else { $this->pnlVersions_Hide(); } // Set the template path baed on the wiki item type $this->SetTemplatePath(); // Setup DateTime of Post $dttLocalize = QApplication::LocalizeDateTime($this->objWikiVersion->PostDate); $this->strPostStartedLinkText = strtolower($dttLocalize->__toString('DDDD, MMMM D, YYYY, h:mm z ')) . strtolower(QApplication::DisplayTimezoneLink($dttLocalize, false)); // Setup messages panel $this->pnlMessages = new MessagesPanel($this); $this->pnlMessages->SelectTopic($this->objWikiItem->TopicLink->GetTopic()); $this->pnlMessages->lblTopicInfo_SetTemplate(__INCLUDES__ . '/messages/lblTopicInfoForWiki.tpl.php'); $this->pnlMessages->btnRespond1->Text = 'Post Comment'; $this->pnlMessages->btnRespond2->Text = 'Post Comment'; $this->pnlMessages->strAdditionalCssClass = 'topicForWiki'; if (array_key_exists('lastpage', $_GET)) { $this->pnlMessages->SetPageNumber(QPaginatedControl::LastPage); $this->pnlMessages_Show(); } else { if (QApplication::IsWikiViewComments()) { $this->pnlMessages_Show(); } else { $this->pnlMessages_Hide(); } } }
public function Form_Validate($blnToReturn = true) { if ($this->txtAssignedTo->Required && $this->txtAssignedTo->Text == '[none]') { $this->txtAssignedTo->Warning = 'Required'; $blnToReturn = false; } foreach ($this->txtMutableFields as $intIssueFieldId => $txtField) { if ($txtField->Visible && strlen(trim($txtField->Text))) { $strToken = IssueFieldOption::TokenizeName($txtField->Text); if (IssueFieldOption::LoadByIssueFieldIdToken($intIssueFieldId, $strToken)) { $txtField->Warning = 'Value already exists'; $blnToReturn = false; } } } return parent::Form_Validate($blnToReturn); }
protected function Form_Create() { parent::Form_Create(); $this->objBlogTopicArray = Topic::QueryArray(QQ::Equal(QQN::Topic()->TopicLink->ForumId, 5), QQ::Clause(QQ::OrderBy(QQN::Topic()->Id, false), QQ::LimitInfo(4))); }
public function Form_Validate($blnToReturn = true) { $this->txtToken->Text = Package::SanitizeForToken($this->txtToken->Text); if ($this->txtToken->Text == 'manifest') { $this->txtToken->Warning = 'Invalid QPM package name: "manifest" cannot be used'; $blnToReturn = false; } else { if (substr($this->txtToken->Text, 0, 6) == 'issue_') { $this->txtToken->Warning = 'Invalid QPM package name: cannot begin with "issue_"'; $blnToReturn = false; } else { $objPackage = Package::LoadByToken($this->txtToken->Text); if ($objPackage && $objPackage->Id != $this->mctPackage->Package->Id) { $this->txtToken->Warning = 'QPM package name already exists'; $blnToReturn = false; } } } return parent::Form_Validate($blnToReturn); }
protected function Form_Validate($blnToReturn = true) { // Check Username if (($strUsername = trim($this->txtUsername->Text)) && Person::LoadByUsername($strUsername)) { $this->txtUsername->Warning = 'Username already taken'; $blnToReturn = false; } if (trim(strlen($this->txtUsername->Text)) < 6) { $this->txtUsername->Warning = 'Username must be at least 6 alphanumeric characters'; $blnToReturn = false; } // Check Password if ($this->txtPassword->Text != $this->txtConfirmPassword->Text) { $this->txtConfirmPassword->Warning = 'Does not match'; $blnToReturn = false; } // Is Email Taken? if (Person::LoadByEmail(trim(strtolower($this->txtEmail->Text)))) { $this->txtEmail->Warning = 'Email is already taken'; $blnToReturn = false; } return parent::Form_Validate($blnToReturn); }
<?php class QcodoWebsiteForm extends QForm { protected $pnlNavBar; protected $strPageTitle; protected $intNavBarIndex; protected $intSubNavIndex; protected $strIgnoreJavaScriptFileArray = array('_core'); protected function Form_Create() { $this->pnlNavBar = new NavBarPanel($this, null, $this->intNavBarIndex, $this->intSubNavIndex); } protected function Form_Validate($blnToReturn = true) { $blnFocused = false; foreach ($this->GetErrorControls() as $objControl) { // Set Focus to the top-most invalid control if (!$blnFocused) { $objControl->Focus(); $blnFocused = true; } // Blink on ALL invalid controls $objControl->Blink(); } return $blnToReturn; } } QcodoWebsiteForm::$FormStateHandler = 'QSessionFormStateHandler'; QcodoWebsiteForm::$EncryptionKey = '125r9uqwfjpsk';
protected function Form_Create() { parent::Form_Create(); // Uses the MessagesPanel control for most of the DisplayMessages functionality $this->pnlMessages = new MessagesPanel($this); // Figure out the Forum, ViewState and Topic we are viewing $this->objForum = Forum::Load(QApplication::PathInfo(0)); $this->CalculateViewState($strHeaderSmall, $strHeaderLarge); // Update the MessagePanel Header template based on the View State switch ($this->intViewState) { case 4: $this->pnlMessages->lblTopicInfo_SetTemplate(__INCLUDES__ . '/messages/lblTopicInfoWithForumName.tpl.php'); break; case 1: case 3: case 5: // No Topic is Selected -- therefore, no template break; default: $this->pnlMessages->lblTopicInfo_SetTemplate(__INCLUDES__ . '/messages/lblTopicInfo.tpl.php'); break; } // Setup Controls $this->lblHeader = new QLabel($this); $this->lblHeader->HtmlEntities = false; $this->lblHeader->Text = sprintf('<span style="font-weight: normal; font-size: 12px;">%s: </span> %s', $strHeaderSmall, $strHeaderLarge); $this->lblDescription_Setup(); $this->btnPost_Setup(); $this->txtSearch = new SearchTextBox($this, 'txtSearch'); $this->txtSearch->Text = QApplication::QueryString('search'); $this->txtSearch->AddAction(new QChangeEvent(), new QAjaxAction('ExecuteSearch')); $this->txtSearch->AddAction(new QEnterKeyEvent(), new QAjaxAction('ExecuteSearch')); $this->txtSearch->AddAction(new QEnterKeyEvent(), new QTerminateAction()); $this->txtSearch->ActionParameter = $this->intViewState == 5 || $this->intViewState == 6; $this->dtrTopics = new QDataRepeater($this, 'dtrTopics'); $this->dtrTopics->Template = 'dtrTopics.tpl.php'; $this->dtrTopics->SetDataBinder('dtrTopics_Bind'); $this->dtrTopics->Paginator = new ForumTopicsPaginator($this); $this->dtrTopics->ItemsPerPage = 20; $this->dtrTopics->UseAjax = true; $this->pnlMessages->AddControlToRefreshOnUpdate($this->dtrTopics); $this->pnlMessages->SetCallbackOnNewPost($this, 'dtrTopics_Reset'); if (QApplication::PathInfo(2) == 'lastpage') { $this->pnlMessages->SetPageNumber(QPaginatedControl::LastPage); } // Search Stuff $this->btnSearchAll = new RoundedLinkButton($this); $this->btnSearchAll->Text = 'All Forums'; $this->btnSearchAll->CssClass = 'searchOption'; $this->btnSearchAll->ToolTip = 'Search all forums'; $this->btnSearchThis = new RoundedLinkButton($this); $this->btnSearchThis->CssClass = 'searchOption'; if ($this->objForum) { $this->btnSearchThis->Text = '"' . $this->objForum->Name . '"'; $this->btnSearchThis->ToolTip = 'Search within ' . $this->btnSearchThis->Text . ' forum'; } else { if ($this->objTopic) { if ($this->objTopic->TopicLink->Forum) { $this->btnSearchThis->Text = '"' . $this->objTopic->TopicLink->Forum->Name . '"'; $this->btnSearchThis->ToolTip = 'Search within ' . $this->btnSearchThis->Text . ' forum'; } else { $this->btnSearchThis->Text = '"Issues"'; $this->btnSearchThis->ToolTip = 'Search within ' . $this->btnSearchThis->Text . ' forum'; } } else { $this->btnSearchThis->Visible = false; } } if (strlen(trim(QApplication::QueryString('search')))) { if ($this->objForum && $this->objForum->Id == QApplication::PathInfo(0)) { $this->btnSearchThis->AddCssClass('searchOptionActive'); } else { $this->btnSearchAll->AddCssClass('searchOptionActive'); } } else { $this->btnSearchAll->Display = false; $this->btnSearchThis->Display = false; } $this->btnSearchThis->AddAction(new QClickEvent(), new QAjaxAction('ExecuteSearch')); $this->btnSearchThis->AddAction(new QClickEvent(), new QTerminateAction()); $this->btnSearchThis->ActionParameter = true; $this->btnSearchAll->AddAction(new QClickEvent(), new QAjaxAction('ExecuteSearch')); $this->btnSearchAll->AddAction(new QClickEvent(), new QTerminateAction()); $this->btnSearchAll->ActionParameter = false; // Last Minute Cleanup switch ($this->intViewState) { case 3: case 4: $this->txtSearch->ActionParameter = false; break; default: $this->txtSearch->ActionParameter = true; break; } }
protected function Form_Create() { parent::Form_Create(); }
protected function Form_Create() { parent::Form_Create(); $objPerson = Person::LoadByUsername(QApplication::PathInfo(0)); if (!$objPerson) { QApplication::Redirect('/'); } $this->mctPerson = new PersonMetaControl($this, $objPerson); $this->strPageTitle .= $objPerson->DisplayName; $this->lblRole = $this->mctPerson->lblPersonTypeId_Create(); $this->lblRole->Name = 'Qcodo Role'; if ($this->mctPerson->Person->DonatedFlag) { $this->lblRole->Text .= ' and Financial Contributor'; } $this->lblName = $this->mctPerson->lblFirstName_Create(); $this->lblName->Name = 'Name'; $this->lblName->Text .= ' ' . $this->mctPerson->Person->LastName; $this->lblUsername = $this->mctPerson->lblUsername_Create(); $this->lblEmail = $this->mctPerson->lblEmail_Create(); $this->lblEmail->Text = QString::ObfuscateEmail($this->mctPerson->Person->Email); $this->lblEmail->HtmlEntities = false; $this->lblLocation = $this->mctPerson->lblLocation_Create(); $this->lblUrl = $this->mctPerson->lblUrl_Create(); $this->lblUrl->HtmlEntities = false; $this->lblRegistrationDate = $this->mctPerson->lblRegistrationDate_Create(null, 'MMMM D, YYYY'); $this->lblRegistrationDate->Name = 'Member Since'; // Add Visibility Logic $this->lblName->Visible = $this->mctPerson->Person->DisplayRealNameFlag; $this->lblEmail->Visible = $this->mctPerson->Person->DisplayEmailFlag; $this->lblLocation->Visible = $this->mctPerson->Person->Location; if (!$this->mctPerson->Person->Url) { $this->lblUrl->Visible = false; } else { $this->lblUrl->Text = sprintf('<a href="%s">%s</a>', $this->mctPerson->Person->Url, QApplication::HtmlEntities($this->mctPerson->Person->Url)); } // If Is Owner of the Profile if ($this->IsOwner()) { $this->btnEdit = new RoundedLinkButton($this); $this->btnEdit->Text = 'Edit My Profile'; $this->btnEdit->LinkUrl = '/profile/edit.php'; $this->btnEdit->AddCssClass('roundedLinkGray'); $this->btnEditAccount = new RoundedLinkButton($this); $this->btnEditAccount->Text = 'Edit My Account'; $this->btnEditAccount->LinkUrl = '/profile/account.php'; $this->btnEditAccount->AddCssClass('roundedLinkGray'); $this->btnPassword = new RoundedLinkButton($this); $this->btnPassword->Text = 'Change My Password'; $this->btnPassword->LinkUrl = '/profile/password.php'; $this->btnPassword->AddCssClass('roundedLinkGray'); $this->lblTimezone = $this->mctPerson->lblTimezoneId_Create(); $this->lblTimezone->HtmlEntities = false; if (!$this->lblTimezone->Text) { $this->lblTimezone->Text = '<span class="meta">none selected</span>'; } $this->lblOptInFlag = $this->mctPerson->lblOptInFlag_Create(); // Otherwise, if is administrator } else { if (QApplication::IsLoginAdmin()) { $this->btnEdit = new RoundedLinkButton($this); $this->btnEdit->Text = 'Edit User\'s Profile'; $this->btnEdit->LinkUrl = '/profile/edit.php/' . $this->mctPerson->Person->Username; $this->btnEdit->AddCssClass('roundedLinkGray'); $this->btnEditAccount = new RoundedLinkButton($this); $this->btnEditAccount->Text = 'Edit User\'s Account'; $this->btnEditAccount->LinkUrl = '/profile/account.php/' . $this->mctPerson->Person->Username; $this->btnEditAccount->AddCssClass('roundedLinkGray'); $this->btnNullPassword = new RoundedLinkButton($this); $this->btnNullPassword->Text = 'Null User\'s Password'; $this->btnNullPassword->LinkUrl = '#'; $this->btnNullPassword->AddCssClass('roundedLinkGray'); $this->btnNullPassword->AddAction(new QClickEvent(), new QConfirmAction('Are you SURE you want to NULL OUT this User\'s Password?')); $this->btnNullPassword->AddAction(new QClickEvent(), new QAjaxAction('btnNullPassword_Click')); $this->btnNullPassword->AddAction(new QClickEvent(), new QTerminateAction()); } } }