Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.87 KB | None | 0 0
  1. <?php
  2.  
  3. class ffSitePreferencesManager extends ffBasicObject {
  4. /**********************************************************************************************************************/
  5. /* OBJECTS
  6. /**********************************************************************************************************************/
  7.  
  8.  
  9. /**********************************************************************************************************************/
  10. /* PRIVATE VARIABLES
  11. /**********************************************************************************************************************/
  12.  
  13.  
  14. /**********************************************************************************************************************/
  15. /* CONSTRUCT
  16. /**********************************************************************************************************************/
  17. public function __construct() {
  18.  
  19. }
  20.  
  21. /**********************************************************************************************************************/
  22. /* PUBLIC FUNCTIONS
  23. /**********************************************************************************************************************/
  24. public function enableSitePreferences() {
  25. ffContainer()->getAdminScreenManager()
  26. ->addAdminScreenClassName('ffAdminScreenSitePreferences')
  27. ->addAdminScreenClassName('ffAdminScreenHeaders')
  28. ->addAdminScreenClassName('ffAdminScreenBoxedWrappers')
  29. ->addAdminScreenClassName('ffAdminScreenTitlebars')
  30. ->addAdminScreenClassName('ffAdminScreenFooters')
  31. ;
  32.  
  33. ffContainer()->getMetaBoxes()
  34. ->getMetaBoxManager()
  35. ->addMetaBoxClassName('ffMetaBoxSitePreferences');
  36.  
  37.  
  38.  
  39. // ffContainer()->getWPLayer()->add_action('template_redirect', array( $this, 'actTemplateRedirect'), 10);
  40. ffContainer()->getWPLayer()->add_action('template_include', array( $this, 'actTemplateInclude'), 10);
  41. }
  42.  
  43. public function getHeadersCollection() {
  44. return new ffItemPartCollection_Header();
  45. }
  46.  
  47. public function actTemplateInclude( $template ) {
  48. $WPLayer = ffContainer()->getWPLayer();
  49. if( $WPLayer->is_feed() ) {
  50. return $template;
  51. }
  52.  
  53. $vdm = ffContainer()->getThemeFrameworkFactory()->getSitePreferencesFactory()->getViewDataManager();
  54. $currentLayout = $vdm->getCurrentLayoutInfo();
  55.  
  56. if( $currentLayout == null ) {
  57. return $template;
  58. }
  59.  
  60. if( $currentLayout->get('layout', null) == null ) {
  61. return $template;
  62. }
  63.  
  64. $newTemplate = $WPLayer->getFrameworkDir().'/framework/themes/sitePreferences/actTemplateInclude.php';
  65.  
  66. if( file_exists( $newTemplate ) ) {
  67. return $newTemplate;
  68. } else {
  69. $this->actTemplateRedirectForce();
  70. // return $template;
  71. }
  72. }
  73.  
  74. public function actTemplateRedirectForce() {
  75. $this->actTemplateRedirect();
  76. die();
  77. }
  78.  
  79. public function actTemplateRedirect() {
  80.  
  81. $WPLayer = ffContainer()->getWPLayer();
  82.  
  83. if( $WPLayer->is_feed() ) {
  84. return;
  85. }
  86.  
  87. $vdm = ffContainer()->getThemeFrameworkFactory()->getSitePreferencesFactory()->getViewDataManager();
  88. $currentLayout = $vdm->getCurrentLayoutInfo();
  89.  
  90.  
  91. if( $currentLayout == null ) {
  92. return null;
  93. }
  94.  
  95. $WPLayer->add_action('wp_footer', array($this, 'actWpFooter'));
  96. $WPLayer->add_action('wp_head', array($this, 'actWpHead'));
  97.  
  98. if( $currentLayout->layout == null ) {
  99. return;
  100. }
  101.  
  102. get_header();
  103.  
  104. $builderManager = ffContainer()->getThemeFrameworkFactory()->getThemeBuilderManager();
  105. $builderManager->render( $currentLayout->layoutContent );
  106. $builderManager->addRenderdCssToStack();
  107. $builderManager->addRenderedJsToStack();
  108.  
  109. get_footer();
  110.  
  111. // die();
  112. }
  113.  
  114. // private function _doPluginsCompatibilityWithTemplateRedirect
  115.  
  116. private function _getRenderedCssAndJs() {
  117. $builderManager = ffContainer()->getThemeFrameworkFactory()->getThemeBuilderManager();
  118. $renderedJS = $builderManager->getRenderedJsStack();
  119. $renderedCss = $builderManager->getRenderedCssStack();
  120.  
  121. $toReturn = '';
  122. if( !empty( $renderedJS ) ) {
  123. $toReturn .= '<script>' . $builderManager->getRenderedJsStack() . '</script>';
  124. }
  125.  
  126. if( !empty( $renderedCss ) ) {
  127. $css = $builderManager->getRenderedCssStack();
  128. $css = str_replace("\n", '', $css );
  129. $toReturn .= '<style>' . $css .'</style>';
  130. }
  131.  
  132. return $toReturn;
  133. }
  134.  
  135. public function actWpHead() {
  136. // echo '<ffb-replace-with-style>';
  137. }
  138.  
  139. public function actWpFooter() {
  140. return;
  141. $builderManager = ffContainer()->getThemeFrameworkFactory()->getThemeBuilderManager();
  142. $renderedJS = $builderManager->getRenderedJsStack();
  143. $renderedCss = $builderManager->getRenderedCssStack();
  144.  
  145. if( !empty( $renderedJS ) ) {
  146. echo '<script>' . $builderManager->getRenderedJsStack() . '</script>';
  147. }
  148.  
  149. if( !empty( $renderedCss ) ) {
  150. $css = $builderManager->getRenderedCssStack();
  151. $css = str_replace("\n", '', $css );
  152. echo '<style>' . $css .'</style>';
  153. }
  154. }
  155. /**********************************************************************************************************************/
  156. /* PUBLIC PROPERTIES
  157. /**********************************************************************************************************************/
  158.  
  159.  
  160. /**********************************************************************************************************************/
  161. /* PRIVATE FUNCTIONS
  162. /**********************************************************************************************************************/
  163.  
  164.  
  165. /**********************************************************************************************************************/
  166. /* ABSTRACT FUNCTIONS
  167. /**********************************************************************************************************************/
  168.  
  169.  
  170. /**********************************************************************************************************************/
  171. /* PRIVATE GETTERS & SETTERS
  172. /**********************************************************************************************************************/
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement