public static function getWorkarounds($data, $options = array()) { $app = MFactory::getApplication(); $document = MFactory::getDocument(); $body = null; if (isset($options['mergehead']) && $options['mergehead'] == 1 && isset($data['head']) && !empty($data['head'])) { $document->mergeHeadData($data['head']); } elseif (isset($data['head']) && method_exists($document, 'setHeadData')) { $document->setHeadData($data['head']); } if (isset($data['pathway']) && is_array($data['pathway'])) { $pathway = $app->getPathWay(); $pathway->setPathway($data['pathway']); } if (isset($data['module']) && is_array($data['module'])) { foreach ($data['module'] as $name => $contents) { $document->setBuffer($contents, 'module', $name); } } if (isset($data['body'])) { $token = MSession::getFormToken(); $search = '#<input type="hidden" name="[0-9a-f]{32}" value="1" />#'; $replacement = '<input type="hidden" name="' . $token . '" value="1" />'; $data['body'] = preg_replace($search, $replacement, $data['body']); $body = $data['body']; } return $body; }
public static function checkToken($method = 'post') { $token = MSession::getFormToken(); if (!self::getVar($token, '', $method, 'alnum')) { $session = MFactory::getSession(); if ($session->isNew()) { // Redirect to login screen. $app = MFactory::getApplication(); $return = MRoute::_('index.php'); $app->redirect($return, MText::_('MLIB_ENVIRONMENT_SESSION_EXPIRED')); $app->close(); } else { return false; } } else { return true; } }
public static function token() { return '<input type="hidden" name="' . MSession::getFormToken() . '" value="1" />'; }