コード例 #1
0
 /**
  Load single plugin.
  
  @param[in] $compiler @ref TemplateCompilerEx instance
  @param[in] $node Optional @ref TemplateNodeEx instance
  @param[in] $plugin Plugin name
  @param[in] $pluginFile Plugin's full filename (optional)
  @param[in] $noThrow If @c true, no exception will be thrown on error (boolean @c false will be returned)
  @retval true Plugin has been loaded
  @retval false Plugin is invalid/non-existant
 */
 public function load(TemplateCompilerEx $compiler, $node, $plugin, $pluginFile = null, $noThrow = false)
 {
     // if already loaded, then abort
     if (isset($this->plugins[$plugin])) {
         return;
     }
     // sanity check
     TemplateUtils::checkIfAllowed($compiler, 'plugin', $plugin, $node);
     if (!$pluginFile) {
         $pluginFile = $this->findPlugin($plugin);
     }
     $className = 'Template' . $plugin . 'Plugin';
     if ($pluginFile === false || !(include_once $pluginFile) || !class_exists($className) || !TemplateUtils::doesImplement($className, 'ITemplatePlugin')) {
         if ($noThrow) {
             return false;
         }
         throw new TemplateError('Could not load plugin: "' . $plugin . '". Either file or main class does not exists, or is invalid', TemplateError::E_INVALID_PLUGIN);
     }
     // create instance and register handlers
     $pluginObj = new $className();
     $handlers = $pluginObj->providedHandlers();
     if (!isset($handlers['tags'])) {
         $handlers['tags'] = array();
     }
     if (!isset($handlers['filters'])) {
         $handlers['filters'] = array();
     }
     if (!isset($handlers['hooks'])) {
         $handlers['hooks'] = array();
     }
     $this->register($plugin, $pluginObj, 'tag', $handlers['tags']);
     $this->register($plugin, $pluginObj, 'filter', $handlers['filters']);
     // too special case after all
     $this->registerHooks($plugin, $pluginObj, $handlers['hooks']);
     $this->plugins[$plugin] = $pluginObj;
 }
コード例 #2
0
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
require_once ABSPATH . WPINC . '/lib/model/document/class-document-item.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-document-item-db-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
$documentType = RequestHelper::getParameter(DocumentItem::DOCUMENT_TYPE);
$documentId = RequestHelper::getParameter(DocumentItem::ID_FIELD);
if ($documentType == DocumentType::GRANT) {
    $document = DocumentItemDBUtils::getGrantById($documentId);
} else {
    $document = DocumentItemDBUtils::getProgramById($documentId);
}
$data = ["documentType" => $documentType, "document" => $document];
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/document-form.php', $data);
コード例 #3
0
 /**
  Runs handlers associated with given hook-point.
  Every handler might return @c true boolean value,
  to break the chain and finish hook execution.
  
  @param[in] $hookPoint Hook-point to execute
  @param[in] $args Array of hook arguments
  @retval true Some handler has broken the chain
  @retval false All handlers have been executed, and none has broken the chain
 */
 private function runHooks($hookPoint, array $args)
 {
     array_unshift($args, $this);
     $handlers = $this->plugins->get('hook', $hookPoint);
     foreach ($handlers as &$hookInfo) {
         $handler =& $hookInfo['handler'];
         if (!is_callable($handler)) {
             throw new TemplateError('Invalid handler [' . TemplateUtils::strip(var_export($hookInfo['handler'], true)) . '] hooked into "' . $hookPoint . '" point by plugin "' . $hookInfo['plugin'] . '"', TemplateError::E_INVALID_HANDLER);
         }
         if (call_user_func_array($handler, $args) === true) {
             return true;
         }
     }
     return false;
 }
コード例 #4
0
require_once ABSPATH . WPINC . '/lib/utils/class-needy-item-utils.php';
$filter = RequestHelper::getParameter(NeedyFilterHelper::FILTER_FIELD);
$page = RequestHelper::getParameter(NeedyFilterHelper::PAGE_FIELD) - 1;
$page = $page && $page > 0 ? $page : 0;
$needyItems = [];
$needyItemsCountPages = 0;
if ($filter == NeedyFilterHelper::ALL) {
    $needyItems = NeedyItemDBUtils::getAllNeedyItemsByStatuses($page);
    $needyItemsCountPages = NeedyItemDBUtils::getAllNeedyItemsByStatusesCountPages();
} elseif ($filter == NeedyFilterHelper::ALL_NEEDY) {
    $needyItems = NeedyItemDBUtils::getAllNeedyItemsByStatuses($page, NeedyStatus::getNeedHelpNeedyStatuses());
    $needyItemsCountPages = NeedyItemDBUtils::getAllNeedyItemsByStatusesCountPages(NeedyStatus::getNeedHelpNeedyStatuses());
} elseif ($filter == NeedyFilterHelper::ALL_CHILDS) {
    $needyItems = NeedyItemDBUtils::getAllChildsItems($page);
    $needyItemsCountPages = NeedyItemDBUtils::getAllChildsItemsCountPages();
} elseif ($filter == NeedyFilterHelper::URGENTLY_NEED_HELP_CHILDS) {
    $needyItems = NeedyItemDBUtils::getUrgentlyNeedHelpChildsItems($page);
    $needyItemsCountPages = NeedyItemDBUtils::getUrgentlyNeedHelpChildsItemsCountPages();
} elseif ($filter == NeedyFilterHelper::NEED_HELP_CHILDS) {
    $needyItems = NeedyItemDBUtils::getNeedHelpChildsItems($page);
    $needyItemsCountPages = NeedyItemDBUtils::getNeedHelpChildsItemsCountPages();
} elseif ($filter == NeedyFilterHelper::HELPED_CHILDS) {
    $needyItems = NeedyItemDBUtils::getHelpedChildsItems($page);
    $needyItemsCountPages = NeedyItemDBUtils::getHelpedChildsItemsCountPages();
} elseif ($filter == NeedyFilterHelper::ALL_ORPHANAGES) {
    $needyItems = NeedyItemDBUtils::getAllOrphanagesItems($page);
    $needyItemsCountPages = NeedyItemDBUtils::getAllOrphanagesItemsCountPages();
}
$data = ["needyItems" => $needyItems, "needyItemsCountPages" => $needyItemsCountPages, "page" => $page];
echo TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/needy-item-info-block.php', $data);
コード例 #5
0
 /**
  <code>{{ block }}</code> variable handler.
  Hooked into @c parseVariableExpression:postCodeGen.
 */
 public function handleHBlockVariable(TemplateCompilerEx $compiler, TemplateNodeEx $node, &$variableCode, &$variableCheck)
 {
     if (isset($compiler->varInBlock) && $compiler->varInBlock && mb_strpos($variableCode, '[\'block\'][\'super\']') !== false) {
         $compiler->raiseIf(!isset($compiler->metadata['parentTemplate']), $node, 'Invalid use of "block.super" - no parent template', TemplateError::E_INVALID_SYNTAX);
         $variableCode = 'parent::_' . TemplateUtils::sanitize(end($compiler->varInBlock)) . '($e)';
         $variableCheck = '';
     }
     return false;
 }
コード例 #6
0
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/orphanage-form.php');
コード例 #7
0
ファイル: header.php プロジェクト: WarmHouseProject/WarmHouse
<?php

require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/header-block.php', []);
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/banner-block.php', []);
コード例 #8
0
 /**
  Includes template's code into global namespace via I/O driver given in DSN.
  I/O system checks @c recompilationMode (which you may override per-template using @c $mode parameter) and
  acts accordingly, recompiling only when it's required either by this setting or template change.
  Also recursively handles inclusion of template parent.
  
  @param[in] $template %Template name
  @param[in] $mode Per-template recompilation mode override (optional)
  @param[in] $returnMeta If @c true, then returns metadata instead of including the code
  @return Template's class name, as string; or metadata, as array
 */
 public function include_($template, $mode = null, $returnMeta = false)
 {
     if (!$mode) {
         $mode = $this->settings['recompilationMode'];
     }
     list($io, $template) = TemplateUtils::parseIODSN($this->settings, $template);
     if (!$io->upToDate($this->settings, $template, $mode)) {
         $this->compile($io, $template);
     }
     $metadata = $io->loadMetadata($this->settings, $template);
     if ($returnMeta) {
         return $metadata;
     }
     if (is_array($metadata) && isset($metadata['parentTemplate'])) {
         $this->include_($metadata['parentTemplate'], $mode);
     }
     return $io->includeCode($this->settings, $template);
 }
コード例 #9
0
 /**
  Tests the behaviour of @ref TemplateUtils::panic.
 */
 public function testUtilsPanic()
 {
     $this->setExpectedException('TemplateError', 'PANIC', TemplateError::E_INTERNAL_CORE_FAILURE);
     TemplateUtils::panic(__FILE__, __LINE__);
 }
コード例 #10
0
 public function className(array &$settings, &$template)
 {
     return TemplateUtils::className(crc32($template));
 }
コード例 #11
0
ファイル: stocks.php プロジェクト: WarmHouseProject/WarmHouse
                    </div>
                <?php 
}
?>
            </div>
            <div class="col-md-6">
                <div class="btn-group float-right">
                    <button type="button" class="btn btn-primary" id="active">Действующие</button>
                    <button type="button" class="btn btn-primary" id="inactive">Завершённые</button>
                </div>
            </div>
            <div class="clearfix"></div>
        </div>
        <div class="stocks-block" id="stockBlock">
            <?php 
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/stock-info-block.php', $data);
?>
        </div>
    </div>
    <!--services-end-->
    <script>
        jQuery(document).ready(function($) {
            var stockBlock = $("#stockBlock");

            $('#active').click(function(){
                changeFilter(<?php 
echo StockFilterHelper::ACTIVE;
?>
, 'Действующие мероприятия');
            });
            $('#inactive').click(function(){
コード例 #12
0
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-child-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-image-db-utils.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/child_form.php');