本文整理汇总了PHP中sfWebResponse类的典型用法代码示例。如果您正苦于以下问题:PHP sfWebResponse类的具体用法?PHP sfWebResponse怎么用?PHP sfWebResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了sfWebResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addAssets
public static function addAssets(sfWebResponse $response)
{
$response->addStylesheet('yui/treeview/assets/skins/qubit/treeview-skin', 'first');
$response->addJavaScript('/vendor/yui/treeview/treeview-min', 'last');
$response->addJavaScript('/vendor/yui/dragdrop/dragdrop-min', 'last');
$response->addJavaScript('treeView', 'last');
}
示例2: renderReport
/**
* This is the final Step in this 3 steps process:
* <ol>
* <li>Step 1 consists in generating the XML bsaed raw data for the report. </li>
* <li>Step 2 consists in merging this raw data with a XSL-FO template to give it
* the presentation information. XSL-FO acts as an intermediate language used
* to render the final repor in any format with a last transformation. </li>
* <li>Step 3 consists on rendering the XSL-FO representtion (the intermediate
* language) of the report to the PDF output fromat.</li>
* <ol>
*
* @param DOMDocument $xslFo The XSL-FO representation of the processed
* report, as we get it just after step 2 in this 3 steps process.
* @param sfWebResponse $response The Response Object, should be passed all
* the way down from the action. So we can change some headers', ContentType
* to 'application/pdf'.
*
* @see %sf_plugins_dir%/NeatReports/config/sfExportGlobals.yml
* @return String With the rendered report content. PDF Binary stream returned
* by ApacheFop.
*/
public function renderReport(DOMDocument $xslFo, sfWebResponse $response = null)
{
$response->setContentType('application/pdf');
$response->setHttpHeader('Content-Disposition', "attachment; filename=report.pdf");
$tStamp = microtime(true);
$executable = stristr(PHP_OS, "WIN") ? 'fop.cmd' : 'fop';
$output = array();
$returnVar = 0;
$foPath = __DIR__ . '/RenderPDF/tmp/report.fo.' . $tStamp;
$pdfPath = __DIR__ . '/RenderPDF/tmp/report.pdf.' . $tStamp;
try {
file_put_contents($foPath, $xslFo->saveXML());
$command = $this->_fopPath . $executable . ' -fo ' . $foPath . ' -pdf ' . $pdfPath;
exec($command, $output, $returnVar);
if ((bool) $returnVar) {
throw new Exception(implode(PHP_EOL, $output), $returnVar);
}
} catch (Exception $e) {
$ex = new Exception('Error executing Apache FOP, return value is pased to Exception Code.' . ' Command execution output follows:' . PHP_EOL . implode(PHP_EOL, $output), $returnVar, $e);
throw $ex;
}
$out = file_get_contents($pdfPath);
unlink($foPath);
unlink($pdfPath);
return $out;
}
示例3: executeSignout
public function executeSignout(sfWebResponse $request)
{
$this->getUser()->signOut();
$signout_url = sfConfig::get('app_sf_guard_plugin_success_signout_url', $request->getReferer());
$this->getUser()->setFlash('notice', 'U bent uitgelogd');
$this->redirect('' != $signout_url ? $signout_url : '@homepage');
}
示例4: renderReport
/**
* This is the final Step in this 3 steps process:
* <ol>
* <li>Step 1 consists in generating the XML bsaed raw data for the report. </li>
* <li>Step 2 consists in merging this raw data with a XSL-FO template to give it
* the presentation information. XSL-FO acts as an intermediate language used
* to render the final repor in any format with a last transformation. </li>
* <li>Step 3 consists on rendering the XSL-FO representtion (the intermediate
* language) of the report to the PDF output fromat.</li>
* <ol>
* Note that the PDF, will force download. You can override this.
*
* @param DOMDocument $xslFo The XSL-FO representation of the processed
* report, as we get it just after step 2 in this 3 steps process.
* @param sfWebResponse $response The Response Object, should be passed all
* the way down from the action. So we can change some headers', ContentType
* to 'application/pdf'.
*
* @see %sf_plugins_dir%/NeatReports/config/sfExportGlobals.yml
* @return String With the rendered report content. PDF Binary stream returned
* by ApacheFop.
*/
public function renderReport(DOMDocument $xslFo, sfWebResponse $response = null)
{
$response->setContentType('application/pdf');
$response->setHttpHeader('Content-Disposition', "attachment; filename=report.pdf");
$this->_pdfRenderer = new RenderPDFConsummer($xslFo->saveXML());
return $this->_pdfRenderer->getPdfStream();
}
示例5: addAssets
public static function addAssets(sfWebResponse $response)
{
if (sfConfig::get('app_show_tooltips')) {
$response->addJavaScript('description');
} else {
$response->addStylesheet('hide_tooltips');
}
}
示例6: getResponse
public function getResponse()
{
static $response;
if (!$response) {
$response = new sfWebResponse();
$response->initialize($this);
}
return $response;
}
示例7: replaceStylesheets
/**
* Replaces response original stylesheets by optimized ones (only if stylesheet
* optimization has been enabled by configuration)
*
* @param sfWebresponse $response
*/
public function replaceStylesheets(sfWebResponse $response)
{
if (is_null($stylesheetOptimizer = $this->getOptimizer('stylesheet'))) {
return;
}
foreach ($stylesheetOptimizer->getAssetFiles() as $file) {
$response->removeStylesheet($file);
}
$response->addStylesheet($stylesheetOptimizer->getOptimizedFileWebPath(), 'first');
}
示例8: execute
public function execute($request)
{
$css = Doctrine::getTable('SnsConfig')->get('customizing_css', '');
$this->getResponse()->setContent($css);
$this->getResponse()->setContentType('text/css');
// cache
$filesystem = new sfFilesystem();
$dir = sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . 'css';
@$filesystem->mkdirs($dir);
file_put_contents($dir . DIRECTORY_SEPARATOR . 'customizing.css', $css);
$this->getResponse()->setHttpHeader('Last-Modified', sfWebResponse::getDate(time()));
return sfView::NONE;
}
示例9: execute
/**
* Executes this filter.
*
* @param sfFilterChain $filterChain A sfFilterChain instance
*/
public function execute($filterChain)
{
$filterChain->execute();
$response = $this->getContext()->getResponse();
$request = $this->getContext()->getRequest();
if (!headers_sent()) {
if ($request->getMobile()->isEZweb()) {
$response->setHttpHeader('Expires', sfWebResponse::getDate(577731600));
$response->setHttpHeader('LastModified', sfWebResponse::getDate(time()));
$response->addCacheControlHttpHeader('no-store');
$response->addCacheControlHttpHeader('no-cache');
$response->addCacheControlHttpHeader('must-revalidate');
$response->addCacheControlHttpHeader('post-check', 0);
$response->addCacheControlHttpHeader('pre-check', 0);
$response->setHttpHeader('Pragma', 'no-cache');
}
}
}
示例10: execute
/**
* Executes this filter.
*
* @param sfFilterChain $filterChain A sfFilterChain instance
*/
public function execute($filterChain)
{
$filterChain->execute();
if (!headers_sent()) {
$response = $this->getContext()->getResponse();
if (!$response->hasHttpHeader('Pragma') && !$response->hasHttpHeader('Expires') && !$response->hasHttpHeader('Cache-Control')) {
$response->setHttpHeader('Expires', sfWebResponse::getDate(577731600));
$response->setHttpHeader('LastModified', sfWebResponse::getDate(time()));
$response->addCacheControlHttpHeader('no-store');
$response->addCacheControlHttpHeader('no-cache');
$response->addCacheControlHttpHeader('private');
$response->addCacheControlHttpHeader('max-age', 0);
$response->addCacheControlHttpHeader('must-revalidate');
$response->addCacheControlHttpHeader('post-check', 0);
$response->addCacheControlHttpHeader('pre-check', 0);
$response->setHttpHeader('Pragma', 'no-cache');
}
}
}
示例11: prepareAssetsForNativeApp
protected function prepareAssetsForNativeApp(sfWebRequest $request, sfWebResponse $response, $buildSettings)
{
$this->isInitialRequest = !$request->isXmlHttpRequest();
foreach ($buildSettings['javascripts'] as $file) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($file);
if ($this->isInitialRequest) {
$response->addJavascript($filename, $position);
} else {
$response->removeJavascript($filename, $position);
}
}
foreach ($buildSettings['stylesheets'] as $file) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($file);
if ($this->isInitialRequest) {
$response->addStylesheet($filename, $position);
} else {
$response->removeStylesheet($filename, $position);
}
}
$excludeStylesheets = $buildSettings['excludeStylesheets'];
foreach ($excludeStylesheets as $assetResource) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($assetResource);
$response->removeStylesheet($filename, $position);
}
$excludeJavascripts = $buildSettings['excludeJavascripts'];
foreach ($excludeJavascripts as $assetResource) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($assetResource);
$response->removeJavascript($filename, $position);
}
$context = $this->getContext();
if (method_exists($context, 'getConfiguration') && method_exists($context->getConfiguration(), 'loadHelpers')) {
$context->getConfiguration()->loadHelpers('Asset');
} else {
if (method_exists('sfLoader', 'loadHelpers')) {
sfLoader::loadHelpers('Asset');
//compatibility with symfony 1.0:
}
}
sfConfig::set('symfony.asset.stylesheets_included', true);
sfConfig::set('symfony.asset.javascripts_included', true);
$css = '';
$js = '';
foreach (array('first', '', 'last') as $position) {
$stylesheets = $response->getStylesheets($position);
if (!empty($stylesheets)) {
$css .= "\n/* position: {$position} */\n";
$css .= $this->getCombinedAssetsAsString($stylesheets, 'stylesheet_path');
}
$javascripts = $response->getJavascripts($position);
if (!empty($javascripts)) {
$jsCurrent = $this->getCombinedAssetsAsString($javascripts, 'javascript_path');
$jsCurrent = str_replace(array("'<script>", "</script>'"), array("'<scr'+'ipt>", "</scr'+'ipt>'"), $jsCurrent);
//hack to avoid breaking code in jQuery mobile: domain && iframe_doc.write( '<script>document.domain="' + domain + '"</script>' );
$js .= "\n/* position: {$position} */\n";
$js .= $jsCurrent;
}
}
if ($this->isInitialRequest) {
//embed everything directly into main file
$css = $this->base64EncodeImages($css);
$this->cssContent = $css;
$this->jsContent = $js;
$this->jsContent2 = 'test';
} else {
$this->cssSrc = $this->getContentAsFileSrc($css, 'css');
if (!$this->cssSrc) {
$this->cssContent = $css;
}
// $this->jsSrc = $this->getContentAsFileSrc($js, 'js');
// if (!$this->jsSrc) {
// $this->jsContent = $js;
// }
$this->jsContent = $js;
//we have to load javascripts inline because iOs Safari loads external javascripts asynchronesly and thus we could nomore rely on events like pagecreate, pageshow, pagehide dom.ready etc
}
}
示例12: myRequest
$response->addJavascript('multiple', 'last');
$response->addStylesheet('last1', 'last');
$response->addStylesheet('first1', 'first');
$response->addStylesheet('middle');
$response->addStylesheet('last2', 'last');
$response->addStylesheet('multiple');
$response->addStylesheet('multiple');
$response->addStylesheet('first2', 'first');
$response->addStylesheet('multiple', 'last');
$filterChain->execute();
// sfCommmonFilter has executed all its code
}
}
$context = sfContext::getInstance();
$context->request = new myRequest();
$response = new sfWebResponse();
$response->initialize($context);
$context->response = $response;
$selector = execute_filter_chain($context, $t);
check_javascripts_included($t, $selector);
check_stylesheets_included($t, $selector);
// test disabling javascript and stylesheet automatic inclusion
$response->setParameter('stylesheets_included', true, 'symfony/view/asset');
$response->setParameter('javascripts_included', true, 'symfony/view/asset');
$selector = execute_filter_chain($context, $t);
$t->is($selector->getElements('head script'), array(), '->execute() does not add javascripts if you used get_javascripts() helper');
$t->is($selector->getElements('head link'), array(), '->execute() does not add stylesheets if you used get_stylesheets() helper');
$response->setParameter('stylesheets_included', true, 'symfony/view/asset');
$response->setParameter('javascripts_included', false, 'symfony/view/asset');
$selector = execute_filter_chain($context, $t);
check_javascripts_included($t, $selector);
示例13: catch
$t->pass('optimizeJavascripts() can optimize js files');
} catch (RuntimeException $e) {
$t->fail('optimizeJavascripts() can optimize js files');
}
// optimizeStylesheets()
$t->diag('optimizeStylesheets()');
$service = new npAssetsOptimizerService($dispatcher, array('stylesheet' => array('enabled' => true, 'class' => 'npOptimizerStylesheet', 'params' => array('destination' => '/css/my_optimized.css', 'files' => array('foo.css')))), $baseAssetsDir);
try {
$service->optimizeStylesheets();
$t->pass('optimizeStylesheets() can optimize css files');
} catch (RuntimeException $e) {
$t->fail('optimizeStylesheets() can optimize css files');
}
// replaceJavascripts()
$t->diag('replaceJavascripts()');
$service = new npAssetsOptimizerService($dispatcher, array('javascript' => array('enabled' => true, 'class' => 'npOptimizerJavascript', 'params' => array('destination' => '/js/my_optimized.js', 'files' => array('foo.js')))), $baseAssetsDir);
$response = new sfWebResponse($dispatcher, array());
$response->addJavascript('foo.js');
$service->replaceJavascripts($response);
$responseJS = array_keys($response->getJavascripts());
$t->is(count($responseJS), 1, 'replaceJavascripts() replaced javascripts');
$t->is($responseJS[0], '/js/my_optimized.js', 'replaceJavascripts() replaced javascripts');
// replaceStylesheets()
$t->diag('replaceStylesheets()');
$service = new npAssetsOptimizerService($dispatcher, array('stylesheet' => array('enabled' => true, 'class' => 'npOptimizerStylesheet', 'params' => array('destination' => '/css/my_optimized.css', 'files' => array('foo.css')))), $baseAssetsDir);
$response = new sfWebResponse($dispatcher, array());
$response->addStylesheet('foo.css');
$service->replaceStylesheets($response);
$responseCSS = array_keys($response->getStylesheets());
$t->is(count($responseCSS), 1, 'replaceStylesheets() replaced stylesheets');
$t->is($responseCSS[0], '/css/my_optimized.css', 'replaceStylesheets() replaced stylesheets');
示例14: addAssets
public static function addAssets(sfWebResponse $response)
{
$response->addStylesheet('/vendor/imageflow/imageflow.packed.css', 'first');
$response->addJavaScript('/vendor/imageflow/imageflow.packed.js', 'last');
$response->addJavaScript('imageflow', 'last');
}
示例15: convertResponse
/**
* Convert the symfony 1.4 response to a Response.
* @param \sfWebResponse $legacyResponse
* @return Response
*/
private function convertResponse($legacyResponse)
{
$response = new Response($legacyResponse->getContent(), $legacyResponse->getStatusCode());
$response->setCharset($legacyResponse->getCharset());
$response->setStatusCode($legacyResponse->getStatusCode());
foreach ($legacyResponse->getHttpHeaders() as $headerName => $headerValue) {
$response->headers->set($headerName, $headerValue);
}
return $response;
}