Given an underscore_separated_string, this will convert the string
to CamelCaseNotation. Note that this will ignore any casing in the
underscore separated string.
public static ConvertToCamelCase ( string $strString ) : string | ||
$strString | string | |
return | string |
protected function pnlContent_Refresh($strUrlHashTokens) { $this->pnlContent->RemoveChildControls(true); if ($this->objGroup) { if (!array_key_exists(1, $strUrlHashTokens)) { $strUrlHashTokens[1] = 'view'; } // Setup the UrlHash Argument if (array_key_exists(2, $strUrlHashTokens)) { $strUrlHashArgument = $strUrlHashTokens[2]; } else { $strUrlHashArgument = null; } if ($strUrlHashTokens[0] == 'new') { $strClassName = sprintf('CpGroup_Edit%s', QString::ConvertToCamelCase($strUrlHashTokens[1])); } else { switch (strtolower($strUrlHashTokens[1])) { case 'view': case 'edit': $strClassName = sprintf('CpGroup_%s%s', QString::ConvertToCamelCase($strUrlHashTokens[1]), GroupType::$TokenArray[$this->objGroup->GroupTypeId]); break; case 'edit_participation': case 'add_participation': $strClassName = sprintf('CpGroup_%s', QString::ConvertToCamelCase($strUrlHashTokens[1])); break; case 'clone_group': $strClassName = sprintf('CpGroup_%s', QString::ConvertToCamelCase($strUrlHashTokens[1])); break; default: QApplication::Redirect('/groups/'); } } new $strClassName($this->pnlContent, 'content', $this->objGroup, $strUrlHashArgument); } }
public function Form_ProcessHash() { // /stewardship/batch.php/X#Y/verb/Z // X = Batch ID // Y = Stack # (*NOT* Stack ID) // Cleanup and Tokenize UrlHash Contents $strUrlHash = trim(strtolower($this->strUrlHash)); $strUrlHashTokens = explode('/', $strUrlHash); // Get Values $intStackNumber = $strUrlHashTokens[0]; $strCommand = array_key_exists(1, $strUrlHashTokens) ? $strUrlHashTokens[1] : null; $strUrlHashArgument = array_key_exists(2, $strUrlHashTokens) ? $strUrlHashTokens[2] : null; $strUrlHashArgument2 = array_key_exists(3, $strUrlHashTokens) ? $strUrlHashTokens[3] : null; $strUrlHashArgument3 = array_key_exists(4, $strUrlHashTokens) ? $strUrlHashTokens[4] : null; // Did we switch the stack? if (!$this->objStack || $this->objStack->StackNumber != $intStackNumber) { // Save the "Old" Stack (if applicable) $objOldStack = null; if ($this->objStack) { $objOldStack = $this->objStack; } // Set the "New" stack (and validate!) if ($intStackNumber) { $this->objStack = StewardshipStack::LoadByStewardshipBatchIdStackNumber($this->objBatch->Id, $intStackNumber); if (!$this->objStack) { QApplication::Redirect('/stewardship/'); } } else { $this->objStack = null; } // Refresh teh DataGrid and Stack in the stacklist $this->dtgContributions_Refresh(); if ($this->objStack) { $this->pnlStack_Refresh($this->objStack); } if ($objOldStack) { $this->pnlStack_Refresh($objOldStack); } $this->pnlContent->CssClass = $this->objStack ? 'stewardshipContent' : null; } $this->pnlContent->RemoveChildControls(true); // Setup the Command if (!$strCommand) { $strCommand = 'view'; } $strClassName = sprintf('CpStewardship_%s', QString::ConvertToCamelCase($strCommand)); if (class_exists($strClassName, true)) { new $strClassName($this->pnlContent, 'content', $this->objBatch, $this->objStack, $strUrlHashArgument, $strUrlHashArgument2, $strUrlHashArgument3); QApplication::ExecuteJavaScript('ScrollToBottom();'); } else { QApplication::Redirect('#1'); } }