public static function pocketString($Name, $Data = null)
{
$Inst = Gdn::pluginManager()->getPluginInstance('PocketsPlugin', Gdn_PluginManager::ACCESS_CLASSNAME);
$Pockets = $Inst->getPockets($Name);
if (val('random', $Data)) {
$Pockets = array(array_rand($Pockets));
}
$Result = '';
$ControllerName = Gdn::controller()->ControllerName;
foreach ($Pockets as $Pocket) {
if (val('Location', $Pocket) == 'Custom') {
$Data['PageName'] = Pocket::pageName($ControllerName);
if ($Pocket->canRender($Data)) {
$Result .= $Pocket->toString();
}
} else {
$Result .= $Pocket->toString();
}
}
if (is_array($Data)) {
$Data = array_change_key_case($Data);
self::pocketStringCb($Data, true);
$Result = preg_replace_callback('`{{(\\w+)}}`', array('PocketsPlugin', 'PocketStringCb'), $Result);
}
return $Result;
}