/**
  * Get the rtCorePlugin template directory for a given mode.
  * 
  * @param string $mode should be either frontend or backend
  * @return string
  */
 public static function getrtPluginTemplateDir($mode = self::MODE_FRONTEND)
 {
     if ($mode == 'backend') {
         return sfConfig::get('sf_plugins_dir') . DIRECTORY_SEPARATOR . 'rtCorePlugin' . DIRECTORY_SEPARATOR . 'templates';
     } elseif (!sfConfig::has('app_rt_template_dir')) {
         return sfConfig::get('sf_app_template_dir');
     } else {
         $base = sfConfig::get('sf_root_dir') . sfConfig::get('app_rt_template_dir');
         $site = rtSiteToolkit::getCurrentSite();
         $reference_key = '';
         if ($site) {
             $reference_key = $site->getReferenceKey();
         }
         $location = $base . DIRECTORY_SEPARATOR . $reference_key;
         if (rtSiteToolkit::isMultiSiteEnabled() && (is_dir($location) || is_link($location))) {
             return $location;
         }
         if ($site = rtSiteToolkit::getCurrentSite()) {
             $location = $base . DIRECTORY_SEPARATOR . $site->getReferenceKey();
             if (rtSiteToolkit::isMultiSiteEnabled() && (is_dir($location) || is_link($location))) {
                 return $location;
             }
         }
         return $base;
     }
 }
 /**
  * @return rtSite
  */
 protected function getRtSite()
 {
     if (is_null($this->_rt_site)) {
         $this->_rt_site = rtSiteToolkit::getCurrentSite();
     }
     return $this->_rt_site;
 }
 public function executeBooking(sfWebRequest $request)
 {
     $site = rtSiteToolkit::getCurrentSite();
     if (!$site) {
         $this->forward404('No site configuration found for contact form request.');
     }
     $options = array('to' => $site->getEmailBookingAddress(), 'from' => '', 'subject' => 'Booking Form Sent', 'confirmation' => $site->getEmailBookingResponse(), 'form_class' => 'rtBookingForm', 'success_route' => 'rt_booking_confirmation', 'partial_html' => 'rtContact/email_contact_admin_html', 'partial_plain' => 'rtContact/email_contact_admin_plain');
     $this->processSubmission($request, $options);
 }
예제 #4
0
 public function executeShow(sfWebRequest $request)
 {
     $this->rt_site = Doctrine::getTable('rtSite')->findOneBy('reference_key', $request->getParameter('reference_key'));
     $this->forward404Unless($this->rt_site);
     $site = rtSiteToolkit::getCurrentSite();
     if (rtSiteToolkit::getCurrentSite()->getReferenceKey() !== sfConfig::get('app_rt_booking_site_ref_key')) {
         $site = Doctrine::getTable('rtSite')->findOneBy('reference_key', sfConfig::get('app_rt_booking_site_ref_key'));
         if (!$site) {
             $this->forward404();
         }
         $this->redirect('http://' . $site->getDomain() . $request->getPathInfo());
     }
 }
 public function executeCreate(sfWebRequest $request)
 {
     if ($request->isMethod(sfRequest::POST) && $request->hasParameter('slug')) {
         $rt_site_page = new rtSitePage();
         $root = $this->getRtSitePageTable()->findRoot();
         $root->getNode()->addChild($rt_site_page);
         $rt_site_page->setTitle(ucfirst(str_replace(array('-', '_'), ' ', $request->getParameter('slug'))));
         $rt_site_page->setPublished(true);
         $rt_site_page->setSlug($request->getParameter('slug'));
         $rt_site_page->setSiteId(rtSiteToolkit::getCurrentSite()->getId());
         $rt_site_page->save();
         $this->redirect('rtSitePageAdmin/edit?id=' . $rt_site_page->getId());
     }
 }
 /**
  * Update the response meta values with the data contained within a rtPage object.
  *
  * @param rtPage $rt_page
  * @param sfUser $sf_user
  * @param sfWebResponse $sf_response
  * @return void
  */
 public static function setCommonMetasFromPage(rtPage $rt_page, sfUser $sf_user, sfWebResponse $sf_response)
 {
     $data = array();
     $data['robots'] = $rt_page->getSearchable() ? 'index, follow' : 'NONE';
     $data['keywords'] = implode(', ', $rt_page->getTags());
     $data['title'] = $rt_page->getTitleHead() ? $rt_page->getTitleHead() : $rt_page->getTitle();
     $data['description'] = $rt_page->getDescription();
     $data['og:title'] = $rt_page->getTitle();
     $data['og:type'] = self::getTypeFromObject($rt_page);
     $data['og:url'] = str_replace('frontend_dev.php/', '', rtSiteToolkit::getCurrentDomain(null, true) . rtSiteToolkit::getRequestUri());
     if ($rt_page->getPrimaryImage()) {
         $img_path = rtAssetToolkit::getThumbnailPath($rt_page->getPrimaryImage()->getSystemPath(), array('maxHeight' => 400, 'maxWidth' => 400));
         $data['og:image'] = rtSiteToolkit::getCurrentDomain(null, true) . $img_path;
     }
     if (rtSiteToolkit::getCurrentSite()) {
         $data['og:site_name'] = rtSiteToolkit::getCurrentSite()->getTitle();
     }
     if ($rt_page->getDescription() !== '') {
         $data['og:description'] = $rt_page->getDescription();
     }
     self::setCommonMetas($data, $sf_response);
 }
예제 #7
0
<?php

use_helper('I18N');
$rt_site = rtSiteToolkit::getCurrentSite();
if (sfConfig::has('app_rt_email_signature_html')) {
    ?>
<p><?php 
    echo sfConfig::get('app_rt_email_signature_html', '');
    ?>
</p>
<?php 
} elseif ($rt_site) {
    ?>
<p>Many thanks, <?php 
    echo $rt_site->getTitle();
    ?>
</p>
<?php 
}
예제 #8
0
 /**
  * Get the current site object.
  *
  * @return rtSite
  */
 public function getSite()
 {
     return rtSiteToolkit::getCurrentSite();
 }