• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP CRM_Core_Smarty类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中CRM_Core_Smarty的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Smarty类的具体用法?PHP CRM_Core_Smarty怎么用?PHP CRM_Core_Smarty使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了CRM_Core_Smarty类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: run

 function run()
 {
     // Add our template
     CRM_Core_Smarty::singleton()->assign('isModulePermissionSupported', CRM_Core_Config::singleton()->userPermissionClass->isModulePermissionSupported());
     CRM_Core_Region::instance('page-header')->add(array('template' => 'CRM/Volunteer/Form/Manage.tpl'));
     parent::run();
 }
开发者ID:adam-edison,项目名称:org.civicrm.volunteer,代码行数:7,代码来源:Backbone.php


示例2: smarty_function_isValueChange

/**
 * Smarty function for checking change in a property's value, for example
 * when looping through an array.
 *
 * Smarty param:  string $key     unique identifier for this property (REQUIRED)
 * Smarty param:  mixed  $value   the current value of the property
 * Smarty param:  string $assign  name of template variable to which to assign result
 *
 *
 * @param array $params
 *   Template call's parameters.
 * @param CRM_Core_Smarty $smarty
 *   The Smarty object.
 *
 * @return NULL
 */
function smarty_function_isValueChange($params, &$smarty)
{
    static $values = array();
    if (empty($params['key'])) {
        $smarty->trigger_error("Missing required parameter, 'key', in isValueChange plugin.");
        return NULL;
    }
    $is_changed = FALSE;
    if (!array_key_exists($params['key'], $values) || strcasecmp($params['value'], $values[$params['key']]) !== 0) {
        // if we have a new value
        $is_changed = TRUE;
        $values[$params['key']] = $params['value'];
        // clear values on all properties added below/after this property
        $clear = FALSE;
        foreach ($values as $k => $dontcare) {
            if ($clear) {
                unset($values[$k]);
            } elseif ($params['key'] == $k) {
                $clear = TRUE;
            }
        }
    }
    if ($params['assign']) {
        $smarty->assign($params['assign'], $is_changed);
    }
    return NULL;
}
开发者ID:kcristiano,项目名称:civicrm-core,代码行数:43,代码来源:function.isValueChange.php


示例3: smarty_function_simpleActivityContacts

/**
 * Get details for the target and assignee contact of an activity.
 *
 * This is "simple" in that it is only appropriate for activities in which the business-process
 * guarantees that there is only one target and one assignee. If the business-process permits
 * multiple targets or multiple assignees, then consider the more versatile (but less sugary)
 * function "crmAPI".
 *
 * Note: This will perform like a dog, but who cares -- at most, we deal with O(100) iterations
 * as part of a background task.
 *
 * @param array $params
 *   , Array with keys:
 *   - activity_id: int, required
 *   - target_var: string, optional; name of a variable which will store the first/only target contact; default "target"
 *   - assignee_var: string, optional; name of a variable which will store the first/only assignee contact; default "assignee"
 *   - return: string, optional; comma-separated list of fields to return for each contact
 *
 * @param CRM_Core_Smarty $smarty
 *
 * @return string
 */
function smarty_function_simpleActivityContacts($params, &$smarty)
{
    if (empty($params['activity_id'])) {
        $smarty->trigger_error('assign: missing \'activity_id\' parameter');
    }
    if (!isset($params['target_var'])) {
        $params['target_var'] = 'target';
    }
    if (!isset($params['assignee_var'])) {
        $params['assignee_var'] = 'assignee';
    }
    if (!isset($params['return'])) {
        $params['return'] = 'contact_id,contact_type,display_name,sort_name,first_name,last_name';
    }
    require_once 'api/api.php';
    require_once 'api/v3/utils.php';
    $activity = civicrm_api('activity', 'getsingle', array('version' => 3, 'id' => $params['activity_id'], 'return.target_contact_id' => 1, 'return.assignee_contact_id' => 1));
    $baseContactParams = array('version' => 3);
    foreach (explode(',', $params['return']) as $field) {
        $baseContactParams['return.' . $field] = 1;
    }
    foreach (array('target', 'assignee') as $role) {
        $contact = array();
        if (!empty($activity[$role . '_contact_id'])) {
            $contact_id = array_shift($activity[$role . '_contact_id']);
            $contact = civicrm_api('contact', 'getsingle', $baseContactParams + array('contact_id' => $contact_id));
        }
        $smarty->assign($params[$role . '_var'], $contact);
    }
    return '';
}
开发者ID:FundingWorks,项目名称:civicrm-core,代码行数:53,代码来源:function.simpleActivityContacts.php


示例4: smarty_block_ts

/**
 * Smarty block function providing gettext support
 *
 * See CRM_Core_I18n class documentation for details.
 *
 * @param array $params
 *   Template call's parameters.
 * @param string $text
 *   {ts} block contents from the template.
 * @param CRM_Core_Smarty $smarty
 *   The Smarty object.
 *
 * @return string
 *   the string, translated by gettext
 */
function smarty_block_ts($params, $text, &$smarty)
{
    if (!isset($params['domain'])) {
        $params['domain'] = $smarty->get_template_vars('extensionKey');
    }
    return ts($text, $params);
}
开发者ID:kidaa30,项目名称:yes,代码行数:22,代码来源:block.ts.php


示例5: smarty_function_crmGetAttribute

/**
 * Fetch an attribute from html
 *
 * @param array $params
 * @param CRM_Core_Smarty $smarty
 *
 * @return string
 */
function smarty_function_crmGetAttribute($params, &$smarty)
{
    $ret = '';
    if (preg_match('#\\W' . $params['attr'] . '="([^"]+)#', $params['html'], $matches)) {
        $ret = $matches[1];
    }
    if (!empty($params['assign'])) {
        $smarty->assign($params['assign'], $ret);
    } else {
        return $ret;
    }
}
开发者ID:kidaa30,项目名称:yes,代码行数:20,代码来源:function.crmGetAttribute.php


示例6: smarty_block_crmScope

/**
 * Smarty block function to temporarily define variables.
 *
 * Example:
 *
 * @code
 * {tsScope x=1}
 *   Expect {$x}==1
 *   {tsScope x=2}
 *     Expect {$x}==2
 *   {/tsScope}
 *   Expect {$x}==1
 * {/tsScope}
 * @endcode
 *
 * @param array $params
 *   Must define 'name'.
 * @param string $content
 *   Default content.
 * @param CRM_Core_Smarty $smarty
 *   The Smarty object.
 *
 * @param $repeat
 *
 * @return string
 */
function smarty_block_crmScope($params, $content, &$smarty, &$repeat)
{
    /** @var CRM_Core_Smarty $smarty */
    if ($repeat) {
        // open crmScope
        $smarty->pushScope($params);
    } else {
        // close crmScope
        $smarty->popScope();
    }
    return $content;
}
开发者ID:FundingWorks,项目名称:civicrm-core,代码行数:38,代码来源:block.crmScope.php


示例7: addResources

 /**
  * Load needed JS, CSS and settings for the backend Volunteer Management UI
  */
 public static function addResources($entity_id, $entity_table)
 {
     static $loaded = FALSE;
     if ($loaded) {
         return;
     }
     $loaded = TRUE;
     $config = CRM_Core_Config::singleton();
     $ccr = CRM_Core_Resources::singleton();
     // Vendor libraries
     $ccr->addScriptFile('civicrm', 'packages/backbone/json2.js', 100, 'html-header', FALSE);
     $ccr->addScriptFile('civicrm', 'packages/backbone/backbone-min.js', 120, 'html-header');
     $ccr->addScriptFile('civicrm', 'packages/backbone/backbone.marionette.min.js', 125, 'html-header', FALSE);
     // Our stylesheet
     $ccr->addStyleFile('org.civicrm.volunteer', 'css/volunteer_app.css');
     // Add all scripts for our js app
     $weight = 0;
     $baseDir = CRM_Extension_System::singleton()->getMapper()->keyToBasePath('org.civicrm.volunteer') . '/';
     // This glob pattern will recurse the js directory up to 4 levels deep
     foreach (glob($baseDir . 'js/{*,*/*,*/*/*,*/*/*/*}.js', GLOB_BRACE) as $file) {
         $fileName = substr($file, strlen($baseDir));
         $ccr->addScriptFile('org.civicrm.volunteer', $fileName, $weight++);
     }
     // Add our template
     CRM_Core_Smarty::singleton()->assign('isModulePermissionSupported', CRM_Core_Config::singleton()->userPermissionClass->isModulePermissionSupported());
     CRM_Core_Region::instance('page-header')->add(array('template' => 'CRM/Volunteer/Form/Manage.tpl'));
     // Fetch event so we can set the default start time for needs
     // FIXME: Not the greatest for supporting non-events
     $entity = civicrm_api3(str_replace('civicrm_', '', $entity_table), 'getsingle', array('id' => $entity_id));
     // Static variables
     $ccr->addSetting(array('pseudoConstant' => array('volunteer_need_visibility' => array_flip(CRM_Volunteer_BAO_Need::buildOptions('visibility_id', 'validate')), 'volunteer_role' => CRM_Volunteer_BAO_Need::buildOptions('role_id', 'get'), 'volunteer_status' => CRM_Activity_BAO_Activity::buildOptions('status_id', 'validate')), 'volunteer' => array('default_date' => CRM_Utils_Array::value('start_date', $entity)), 'config' => array('timeInputFormat' => $config->timeInputFormat)));
     // Check for problems
     _volunteer_civicrm_check_resource_url();
 }
开发者ID:relldoesphp,项目名称:civivolunteer,代码行数:37,代码来源:Manage.php


示例8: run

 function run()
 {
     $upgrade = new CRM_Upgrade_Form();
     $message = ts('CiviCRM upgrade successful');
     if ($upgrade->checkVersion($upgrade->latestVersion)) {
         $message = ts('Your database has already been upgraded to CiviCRM %1', array(1 => $upgrade->latestVersion));
     } elseif ($upgrade->checkVersion('2.1.2') || $upgrade->checkVersion('2.1.3') || $upgrade->checkVersion('2.1.4') || $upgrade->checkVersion('2.1.5')) {
         // do nothing, db version is changed for all upgrades
     } elseif ($upgrade->checkVersion('2.1.0') || $upgrade->checkVersion('2.1') || $upgrade->checkVersion('2.1.1')) {
         // 2.1 to 2.1.2
         $this->runTwoOneTwo();
     } else {
         // 2.0 to 2.1
         for ($i = 1; $i <= 4; $i++) {
             $this->runForm($i);
         }
         // 2.1 to 2.1.2
         $this->runTwoOneTwo();
     }
     // just change the ver in the db, since nothing to upgrade
     $upgrade->setVersion($upgrade->latestVersion);
     // also cleanup the templates_c directory
     $config = CRM_Core_Config::singleton();
     $config->cleanup(1);
     $template = CRM_Core_Smarty::singleton();
     $template->assign('message', $message);
     $template->assign('pageTitle', ts('Upgrade CiviCRM to Version %1', array(1 => $upgrade->latestVersion)));
     $template->assign('menuRebuildURL', CRM_Utils_System::url('civicrm/menu/rebuild', 'reset=1'));
     $contents = $template->fetch('CRM/common/success.tpl');
     echo $contents;
 }
开发者ID:hguru,项目名称:224Civi,代码行数:31,代码来源:Upgrade.php


示例9: run

 function run()
 {
     list($ext, $suite) = $this->getRequestExtAndSuite();
     if (empty($ext) || empty($suite)) {
         throw new CRM_Core_Exception("FIXME: Not implemented: QUnit browser");
     }
     if (!preg_match('/^[a-zA-Z0-9_\\-\\.]+$/', $suite) || strpos($suite, '..') !== FALSE) {
         throw new CRM_Core_Exception("Malformed suite name");
     }
     $path = CRM_Extension_System::singleton()->getMapper()->keyToBasePath($ext);
     if (!is_dir("{$path}/tests/qunit/{$suite}")) {
         throw new CRM_Core_Exception("Failed to locate test suite");
     }
     // Load the test suite -- including any PHP, TPL, or JS content
     if (file_exists("{$path}/tests/qunit/{$suite}/test.php")) {
         // e.g. load resources
         require_once "{$path}/tests/qunit/{$suite}/test.php";
     }
     if (file_exists("{$path}/tests/qunit/{$suite}/test.tpl")) {
         // e.g. setup markup and/or load resources
         CRM_Core_Smarty::singleton()->addTemplateDir("{$path}/tests");
         $this->assign('qunitTpl', "qunit/{$suite}/test.tpl");
     }
     if (file_exists("{$path}/tests/qunit/{$suite}/test.js")) {
         CRM_Core_Resources::singleton()->addScriptFile($ext, "tests/qunit/{$suite}/test.js", 1000);
     }
     CRM_Utils_System::setTitle(ts('QUnit: %2 (%1)', array(1 => $ext, 2 => $suite)));
     CRM_Core_Resources::singleton()->addScriptFile('civicrm', 'packages/qunit/qunit.js')->addStyleFile('civicrm', 'packages/qunit/qunit.css');
     parent::run();
 }
开发者ID:hguru,项目名称:224Civi,代码行数:30,代码来源:QUnit.php


示例10: run

  function run() {
    $smarty= CRM_Core_Smarty::singleton( );

    $dummy = NULL;
    if (array_key_exists('id',$_GET)) {// special treatmenent, because it's often used
      $smarty->assign ('id',(int)$_GET['id']);// an id is always positive
    }
    $pos = strpos (implode (array_keys ($_GET)),'<') ;

    if ($pos !== false) {
      die ("SECURITY FATAL: one of the param names contains &lt;");
    }
    $param = array_map( 'htmlentities' , $_GET);
//TODO: sql escape the params too
    unset($param['q']);
    $smarty->assign_by_ref("request", $param);

   CRM_Core_Resources::singleton()
    ->addScriptFile('eu.tttp.civisualize', 'js/d3.v3.js', 110, 'html-header', FALSE)
    ->addScriptFile('eu.tttp.civisualize', 'js/dc/dc.js', 110, 'html-header', FALSE)
    ->addScriptFile('eu.tttp.civisualize', 'js/dc/crossfilter.js', 110, 'html-header', FALSE)
    ->addStyleFile('eu.tttp.civisualize', 'js/dc/dc.css')
    ->addStyleFile('eu.tttp.civisualize', 'css/style.css');

    require_once 'CRM/Core/Smarty/plugins/function.crmSQL.php';
    $smarty->register_function("crmSQL", "smarty_function_crmSQL");

    require_once 'CRM/Core/Smarty/plugins/function.crmRetrieve.php';
    $smarty->register_function("crmRetrieve", "smarty_function_crmRetrieve");

    require_once 'CRM/Core/Smarty/plugins/function.crmTitle.php';
    $smarty->register_function("crmTitle", "smarty_function_crmTitle");

    return parent::run();
  }
开发者ID:riyadennis,项目名称:my_civicrm,代码行数:35,代码来源:Main.php


示例11: buildChart

 /**
  * colours.
  * @var array
  * @static
  */
 function buildChart(&$params, $chart)
 {
     $openFlashChart = array();
     if ($chart && is_array($params) && !empty($params)) {
         $chartInstance = new $chart($params);
         $chartInstance->buildChart();
         $chartObj = $chartInstance->getChart();
         $openFlashChart = array();
         if ($chartObj) {
             // calculate chart size.
             $xSize = CRM_Utils_Array::value('xSize', $params, 400);
             $ySize = CRM_Utils_Array::value('ySize', $params, 300);
             if ($chart == 'barChart') {
                 $ySize = CRM_Utils_Array::value('ySize', $params, 250);
                 $xSize = 60 * count($params['values']);
                 //hack to show tooltip.
                 if ($xSize < 200) {
                     $xSize = count($params['values']) > 1 ? 100 * count($params['values']) : 170;
                 } elseif ($xSize > 600 && count($params['values']) > 1) {
                     $xSize = (count($params['values']) + 400 / count($params['values'])) * count($params['values']);
                 }
             }
             // generate unique id for this chart instance
             $uniqueId = md5(uniqid(rand(), TRUE));
             $openFlashChart["chart_{$uniqueId}"]['size'] = array('xSize' => $xSize, 'ySize' => $ySize);
             $openFlashChart["chart_{$uniqueId}"]['object'] = $chartObj;
             // assign chart data to template
             $template = CRM_Core_Smarty::singleton();
             $template->assign('uniqueId', $uniqueId);
             $template->assign("openFlashChartData", json_encode($openFlashChart));
         }
     }
     return $openFlashChart;
 }
开发者ID:eileenmcnaughton,项目名称:net.ourpowerbase.report.advancedfundraising,代码行数:39,代码来源:OpenFlashChart.php


示例12: addResources

 /**
  * Load needed JS, CSS and settings for the backend Volunteer Management UI
  */
 public static function addResources($entity_id, $entity_table)
 {
     static $loaded = FALSE;
     $ccr = CRM_Core_Resources::singleton();
     if ($loaded || $ccr->isAjaxMode()) {
         return;
     }
     $loaded = TRUE;
     $config = CRM_Core_Config::singleton();
     // Vendor libraries
     $ccr->addScriptFile('civicrm', 'packages/backbone/json2.js', 100, 'html-header', FALSE);
     $ccr->addScriptFile('civicrm', 'packages/backbone/backbone-min.js', 120, 'html-header', FALSE);
     $ccr->addScriptFile('civicrm', 'packages/backbone/backbone.marionette.min.js', 125, 'html-header', FALSE);
     // Our stylesheet
     $ccr->addStyleFile('org.civicrm.volunteer', 'css/volunteer_app.css');
     // Add all scripts for our js app
     $weight = 0;
     $baseDir = CRM_Extension_System::singleton()->getMapper()->keyToBasePath('org.civicrm.volunteer') . '/';
     // This glob pattern will recurse the js directory up to 4 levels deep
     foreach (glob($baseDir . 'js/backbone/{*,*/*,*/*/*,*/*/*/*}.js', GLOB_BRACE) as $file) {
         $fileName = substr($file, strlen($baseDir));
         $ccr->addScriptFile('org.civicrm.volunteer', $fileName, $weight++);
     }
     // Add our template
     CRM_Core_Smarty::singleton()->assign('isModulePermissionSupported', CRM_Core_Config::singleton()->userPermissionClass->isModulePermissionSupported());
     CRM_Core_Region::instance('page-header')->add(array('template' => 'CRM/Volunteer/Form/Manage.tpl'));
     // Fetch event so we can set the default start time for needs
     // FIXME: Not the greatest for supporting non-events
     $entity = civicrm_api3(str_replace('civicrm_', '', $entity_table), 'getsingle', array('id' => $entity_id));
     // Static variables
     $ccr->addSetting(array('pseudoConstant' => array('volunteer_need_visibility' => array_flip(CRM_Volunteer_BAO_Need::buildOptions('visibility_id', 'validate')), 'volunteer_role' => CRM_Volunteer_BAO_Need::buildOptions('role_id', 'get'), 'volunteer_status' => CRM_Activity_BAO_Activity::buildOptions('status_id', 'validate')), 'volunteer' => array('default_date' => CRM_Utils_Array::value('start_date', $entity)), 'config' => array('timeInputFormat' => $config->timeInputFormat), 'constants' => array('CRM_Core_Action' => array('NONE' => 0, 'ADD' => 1, 'UPDATE' => 2, 'VIEW' => 4, 'DELETE' => 8, 'BROWSE' => 16, 'ENABLE' => 32, 'DISABLE' => 64, 'EXPORT' => 128, 'BASIC' => 256, 'ADVANCED' => 512, 'PREVIEW' => 1024, 'FOLLOWUP' => 2048, 'MAP' => 4096, 'PROFILE' => 8192, 'COPY' => 16384, 'RENEW' => 32768, 'DETACH' => 65536, 'REVERT' => 131072, 'CLOSE' => 262144, 'REOPEN' => 524288, 'MAX_ACTION' => 1048575))));
     // Check for problems
     _volunteer_checkResourceUrl();
 }
开发者ID:TobiasLounsbury,项目名称:org.civicrm.volunteer,代码行数:37,代码来源:Manage.php


示例13: civicrm_api3_job_rapportagenamailings_mail

/**
 * Send a email to ?? with the mailing report of one mailing
 * 
 * @param type $mailing_id
 */
function civicrm_api3_job_rapportagenamailings_mail($mailing_id)
{
    global $base_root;
    // create a new Cor Page
    $page = new CRM_Core_Page();
    $page->_mailing_id = $mailing_id;
    // create a new template
    $template = CRM_Core_Smarty::singleton();
    // from CRM/Mailing/Page/Report.php
    // check that the user has permission to access mailing id
    CRM_Mailing_BAO_Mailing::checkPermission($mailing_id);
    $report = CRM_Mailing_BAO_Mailing::report($mailing_id);
    //get contents of mailing
    CRM_Mailing_BAO_Mailing::getMailingContent($report, $page);
    $subject = ts('Mailing Gereed: %1', array(1 => $report['mailing']['name']));
    $template->assign('report', $report);
    // inlcude $base_root
    $template->assign('base_root', $base_root);
    $template->assign('subject', $subject);
    // from CRM/Core/page.php
    // only print
    $template->assign('tplFile', 'CRM/Rapportagenamailings/Page/RapportMailing.tpl');
    $content = $template->fetch('CRM/common/print.tpl');
    CRM_Utils_System::appendTPLFile('CRM/Rapportagenamailings/Page/RapportMailing.tpl', $content, $page->overrideExtraTemplateFileName());
    //its time to call the hook.
    CRM_Utils_Hook::alterContent($content, 'page', 'CRM/Rapportagenamailings/Page/RapportMailing.tpl', $page);
    //echo $content;
    // send mail
    $params = array('from' => '[email protected]', 'toName' => 'Front Office VnV', 'toEmail' => '[email protected]', 'subject' => $subject, 'text' => $subject, 'html' => $content, 'replyTo' => '[email protected]');
    CRM_Utils_Mail::send($params);
}
开发者ID:jvos,项目名称:nl.vnv.rapportagenamailings_old,代码行数:36,代码来源:RapportageNaMailings.php


示例14: upgrade_4_1_alpha1

 /**
  * @param $rev
  */
 public function upgrade_4_1_alpha1($rev)
 {
     $config = CRM_Core_Config::singleton();
     if (in_array('CiviCase', $config->enableComponents)) {
         if (!CRM_Case_BAO_Case::createCaseViews()) {
             $template = CRM_Core_Smarty::singleton();
             $afterUpgradeMessage = '';
             if ($afterUpgradeMessage = $template->get_template_vars('afterUpgradeMessage')) {
                 $afterUpgradeMessage .= "<br/><br/>";
             }
             $afterUpgradeMessage .= '<div class="crm-upgrade-case-views-error" style="background-color: #E43D2B; padding: 10px;">' . ts("There was a problem creating CiviCase database views. Please create the following views manually before using CiviCase:");
             $afterUpgradeMessage .= '<div class="crm-upgrade-case-views-query"><div>' . CRM_Case_BAO_Case::createCaseViewsQuery('upcoming') . '</div><div>' . CRM_Case_BAO_Case::createCaseViewsQuery('recent') . '</div>' . '</div></div>';
             $template->assign('afterUpgradeMessage', $afterUpgradeMessage);
         }
     }
     $upgrade = new CRM_Upgrade_Form();
     $upgrade->processSQL($rev);
     $this->transferPreferencesToSettings();
     $this->createNewSettings();
     // now modify the config so that the directories are now stored in the settings table
     // CRM-8780
     $params = array();
     CRM_Core_BAO_ConfigSetting::add($params);
     // also reset navigation
     CRM_Core_BAO_Navigation::resetNavigation();
 }
开发者ID:hyebahi,项目名称:civicrm-core,代码行数:29,代码来源:FourOne.php


示例15: generatexml

 function generatexml($id)
 {
     $xml = "";
     $template = CRM_Core_Smarty::singleton();
     $this->get((int) $id);
     $template->assign("file", $this->toArray());
     $txgroup = new CRM_Sepa_BAO_SEPATransactionGroup();
     $txgroup->sdd_file_id = $this->id;
     $txgroup->find();
     $total = 0;
     $nbtransactions = 0;
     $fileFormats = array();
     while ($txgroup->fetch()) {
         $xml .= $txgroup->generateXML();
         $total += $txgroup->total;
         $nbtransactions += $txgroup->nbtransactions;
         $fileFormats[] = $txgroup->fileFormat;
     }
     if (count(array_unique($fileFormats)) > 1) {
         throw new Exception('Creditors with mismatching File Formats cannot be mixed in same File');
     } else {
         $fileFormatName = CRM_Utils_SepaOptionGroupTools::sanitizeFileFormat(reset($fileFormats));
     }
     $template->assign("file", $this->toArray());
     $template->assign("total", $total);
     $template->assign("nbtransactions", $nbtransactions);
     $head = $template->fetch('../formats/' . $fileFormatName . '/transaction-header.tpl');
     $footer = $template->fetch('../formats/' . $fileFormatName . '/transaction-footer.tpl');
     return $head . $xml . $footer;
 }
开发者ID:FundingWorks,项目名称:org.project60.sepa,代码行数:30,代码来源:SEPASddFile.php


示例16: add_participant_to_cart

 function add_participant_to_cart()
 {
     require 'CRM/Core/Transaction.php';
     $transaction = new CRM_Core_Transaction();
     $cart_id = $_GET['cart_id'];
     $event_id = $_GET['event_id'];
     $cart = CRM_Event_Cart_BAO_Cart::find_by_id($_GET['cart_id']);
     $params_array = array('cart_id' => $cart->id, 'contact_id' => CRM_Event_Cart_Form_Cart::find_or_create_contact(), 'event_id' => $event_id);
     //XXX security?
     $participant = CRM_Event_Cart_BAO_MerParticipant::create($params_array);
     $participant->save();
     $form = new CRM_Core_Form();
     $pform = new CRM_Event_Cart_Form_MerParticipant($participant);
     $pform->appendQuickForm($form);
     $renderer = $form->getRenderer();
     $config = CRM_Core_Config::singleton();
     $templateDir = $config->templateDir;
     if (is_array($templateDir)) {
         $templateDir = array_pop($templateDir);
     }
     $requiredTemplate = file_get_contents($templateDir . '/CRM/Form/label.tpl');
     $renderer->setRequiredTemplate($requiredTemplate);
     $form->accept($renderer);
     $template = CRM_Core_Smarty::singleton();
     $template->assign('form', $renderer->toArray());
     $template->assign('participant', $participant);
     $output = $template->fetch("CRM/Event/Cart/Form/Checkout/Participant.tpl");
     $transaction->commit();
     echo $output;
     CRM_Utils_System::civiExit();
 }
开发者ID:prashantgajare,项目名称:civicrm-core,代码行数:31,代码来源:CheckoutAJAX.php


示例17: addAttachment

 /**
  * Add an ics attachment to the input array.
  *
  * @param array $attachments
  *   Reference to array in same format returned from CRM_Core_BAO_File::getEntityFile().
  * @param array $contacts
  *   Array of contacts (attendees).
  *
  * @return string|null
  *   Array index of the added attachment in the $attachments array, else NULL.
  */
 public function addAttachment(&$attachments, $contacts)
 {
     // Check preferences setting
     if (Civi::settings()->get('activity_assignee_notification_ics')) {
         $config =& CRM_Core_Config::singleton();
         $this->icsfile = tempnam($config->customFileUploadDir, 'ics');
         if ($this->icsfile !== FALSE) {
             rename($this->icsfile, $this->icsfile . '.ics');
             $this->icsfile .= '.ics';
             $icsFileName = basename($this->icsfile);
             // get logged in user's primary email
             // TODO: Is there a better way to do this?
             $organizer = $this->getPrimaryEmail();
             $template = CRM_Core_Smarty::singleton();
             $template->assign('activity', $this->activity);
             $template->assign('organizer', $organizer);
             $template->assign('contacts', $contacts);
             $template->assign('timezone', date_default_timezone_get());
             $calendar = $template->fetch('CRM/Activity/Calendar/ICal.tpl');
             if (file_put_contents($this->icsfile, $calendar) !== FALSE) {
                 if (empty($attachments)) {
                     $attachments = array();
                 }
                 $attachments['activity_ics'] = array('mime_type' => 'text/calendar', 'fileName' => $icsFileName, 'cleanName' => $icsFileName, 'fullPath' => $this->icsfile);
                 return 'activity_ics';
             }
         }
     }
     return NULL;
 }
开发者ID:kcristiano,项目名称:civicrm-core,代码行数:41,代码来源:ICalendar.php


示例18: run

 function run()
 {
     CRM_Utils_System::setTitle(ts('Public Vacancy List'));
     global $civicrm_root;
     global $base_url;
     //fetch listing
     $row = self::vacancyListDisplay();
     $output = '';
     $output .= '(function() {';
     $output .= file_get_contents("{$civicrm_root}packages/backbone/lodash.compat.min.js");
     //Add js file
     $templateDir = array("{$civicrm_root}packages/jquery/", "{$civicrm_root}packages/jquery/jquery-ui/js/");
     foreach ($templateDir as $templateDir) {
         $files = (array) glob($templateDir . '*.min.js', GLOB_BRACE);
         foreach ($files as $file) {
             $output .= file_get_contents($file);
         }
     }
     //Add css files
     $scan = scandir("{$civicrm_root}packages/jquery/jquery-ui/css/theme/");
     foreach ($scan as $file) {
         if (!is_dir("{$civicrm_root}packages/jquery/jquery-ui/css/theme/{$file}")) {
             $output .= "var link = document.createElement('link');\n        link.rel  = 'stylesheet';\n        link.type = 'text/css';\n        link.href = '{$base_url}/sites/all/modules/civicrm/packages/jquery/jquery-ui/css/theme/{$file}';\n        link.media = 'all';\n        document.getElementsByTagName('head')[0].appendChild(link);";
         }
     }
     //Add template
     $output .= "var \$ = jQuery.noConflict();var c_ = _.noConflict();c_.templateSettings.variable = 'rc';";
     $output .= CRM_Core_Smarty::singleton()->fetch('CRM/HRRecruitment/Page/WidgetJs.tpl');
     $output .= "document.write('<div id=\\'vacancyPublicList\\'></div>');\n      var div = document.getElementById('vacancyPublicList');\n      div.innerHTML = listTemplate({$row});\n      document.write('<div id=\\'vacancyListDialog\\'></div>');";
     //Dialog box to display vacancy information
     $output .= '$(".hr-job-position-link").bind("click",function(e){
   e.preventDefault();
   var infourl = $(this).attr("href") + "&callback=?";
   $.getJSON(infourl).done(function(result) {
     c_.templateSettings.variable = \'rc\';
     $("#vacancyListDialog").html(infoTemplate(result));
     $("#vacancyListDialog").dialog({
       modal: true,
       width: 600,
       title: result.position,
       buttons: [
         {
           text: result.applyButton,
           click: function () { window.location = result.apply; }
         },
         {
           text: result.close,
           click: function () { $(this).dialog("close"); }
         }
       ]
     });
   });
 });';
     $output .= '})();';
     header('Content-type: text/javascript');
     echo $output;
     exit;
 }
开发者ID:JoeMurray,项目名称:civihr,代码行数:58,代码来源:WidgetJs.php


示例19: getNavigationMenu

 public static function getNavigationMenu()
 {
     $contactID = CRM_Core_Session::singleton()->get('userID');
     if ($contactID) {
         CRM_Core_Page_AJAX::setJsHeaders();
         print CRM_Core_Smarty::singleton()->fetchWith('CRM/Menufontawesome/Page/navigation.js.tpl', array('navigation' => CRM_Menufontawesome_BAO_Navigation::createNavigation($contactID)));
     }
     CRM_Utils_System::civiExit();
 }
开发者ID:omarabuhussein,项目名称:com.opetmar.menufontawesome,代码行数:9,代码来源:AJAX.php


示例20: generateXML

 function generateXML($id = null)
 {
     $template = CRM_Core_Smarty::singleton();
     if ($id) {
         $this->id = $id;
     }
     if (empty($this->id)) {
         CRM_Core_Error::fatal("missing id of the transaction group");
     }
     $r = array();
     $this->total = 0;
     $this->nbtransactions = 0;
     $group = civicrm_api("SepaTransactionGroup", "getsingle", array("sequential" => 1, "version" => 3, "id" => $this->id));
     $creditor_id = $group["sdd_creditor_id"];
     $template->assign("group", $group);
     $creditor = civicrm_api("SepaCreditor", "getsingle", array("sequential" => 1, "version" => 3, "id" => $creditor_id));
     $template->assign("creditor", $creditor);
     $this->fileFormat = CRM_Core_OptionGroup::getValue('sepa_file_format', $creditor['sepa_file_format_id'], 'value', 'Integer', 'name');
     $this->fileFormat = CRM_Utils_SepaOptionGroupTools::sanitizeFileFormat($this->fileFormat);
     $template->assign("fileFormat", $this->fileFormat);
     $queryParams = array(1 => array($this->id, 'Positive'));
     $query = "\n      SELECT\n        c.id,\n        civicrm_contact.display_name,\n        invoice_id,\n        currency,\n        total_amount,\n        receive_date,\n        contribution_recur_id,\n        contribution_status_id,\n        mandate.*\n      FROM civicrm_contribution AS c\n      JOIN civicrm_sdd_contribution_txgroup AS g ON g.contribution_id=c.id\n      JOIN civicrm_sdd_mandate AS mandate ON mandate.id = IF(c.contribution_recur_id IS NOT NULL,\n        (SELECT id FROM civicrm_sdd_mandate WHERE entity_table = 'civicrm_contribution_recur' AND entity_id = c.contribution_recur_id),\n        (SELECT id FROM civicrm_sdd_mandate WHERE entity_table = 'civicrm_contribution' AND entity_id = c.id)\n      )\n      JOIN civicrm_contact ON c.contact_id = civicrm_contact.id\n      WHERE g.txgroup_id = %1\n        AND contribution_status_id != 3\n        AND mandate.is_enabled = true\n    ";
     //and not cancelled
     $contrib = CRM_Core_DAO::executeQuery($query, $queryParams);
     setlocale(LC_CTYPE, 'en_US.utf8');
     //dear dear, it might work, but seems to be highly dependant of the system running it, without any way to know what is available, or if the setting was done properly #phpeature
     while ($contrib->fetch()) {
         $t = $contrib->toArray();
         $t["iban"] = str_replace(array(' ', '-'), '', $t["iban"]);
         // try to convert the name into a more acceptable format
         if (function_exists("iconv")) {
             $t["display_name"] = iconv("UTF-8", "ASCII//TRANSLIT", $t["display_name"]);
             //french banks like utf8 as long as it's ascii7 only
         }
         // ...but to be sure, replace any remainig illegit characters with '?'
         $t["display_name"] = preg_replace("/[^ 0-9a-zA-Z':?,\\-(+.)\\/\"]/", '?', $t["display_name"]);
         // create an individual transaction message
         $t["message"] = CRM_Sepa_Logic_Settings::getTransactionMessage($t, $creditor);
         $r[] = $t;
         if ($creditor_id == null) {
             $creditor_id = $contrib->creditor_id;
         } elseif ($contrib->creditor_id == null) {
             // it shouldn't happen.
             $contrib->creditor_id = $creditor_id;
         } elseif ($creditor_id != $contrib->creditor_id) {
             CRM_Core_Error::fatal("mixed creditors ({$creditor_id} != {$contrib->creditor_id}) in the group - contribution {$contrib->id}");
             //to fix the mandate: update civicrm_sdd_mandate set creditor_id=1;
         }
         $this->total += $contrib->total_amount;
         $this->nbtransactions++;
     }
     $template->assign("total", $this->total);
     $template->assign("nbtransactions", $this->nbtransactions);
     $template->assign("contributions", $r);
     return $template->fetch('../formats/' . $this->fileFormat . '/transaction-details.tpl');
 }
开发者ID:FundingWorks,项目名称:org.project60.sepa,代码行数:56,代码来源:SEPATransactionGroup.php



注:本文中的CRM_Core_Smarty类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP CRM_Core_StateMachine类代码示例发布时间:2022-05-20
下一篇:
PHP CRM_Core_ShowHideBlocks类代码示例发布时间:2022-05-20
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap