当前位置: 首页>>代码示例>>PHP>>正文


PHP Horde_String::upper方法代码示例

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


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

示例1: create

 /**
  * Factory for a log object. Attempts to create a device specific file if
  * custom logging is requested.
  *
  * @param array $properties  The property array.
  *
  * @return Horde_Log_Logger  The logger object, correctly configured.
  */
 public function create($properties = array())
 {
     global $conf;
     $logger = false;
     if ($conf['activesync']['logging']['type'] == 'onefile') {
         if (!empty($properties['DeviceId'])) {
             $device_id = $properties['DeviceId'];
             $format = "%timestamp% {$device_id} %levelName%: %message%" . PHP_EOL;
             $formatter = new Horde_Log_Formatter_Simple(array('format' => $format));
             $stream = fopen($conf['activesync']['logging']['path'], 'a');
             if ($stream) {
                 $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream($stream, false, $formatter));
             }
         }
     } elseif ($conf['activesync']['logging']['type'] == 'perdevice') {
         if (!empty($properties['DeviceId'])) {
             $stream = fopen($conf['activesync']['logging']['path'] . '/' . Horde_String::upper($properties['DeviceId']) . '.txt', 'a');
             if ($stream) {
                 $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream($stream));
             }
         }
     }
     if (!$logger) {
         $logger = new Horde_Log_Logger(new Horde_Log_Handler_Null());
     }
     return $logger;
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:35,代码来源:Factory.php

示例2: auth

 /**
  * Attempt to do LMTP authentication.
  *
  * @param string The userid to authenticate as.
  * @param string The password to authenticate with.
  * @param string The requested authentication method.  If none is
  *               specified, the best supported method will be used.
  *
  * @return mixed Returns a PEAR_Error with an error message on any
  *               kind of failure, or true on success.
  * @access public
  */
 function auth($uid, $pwd, $method = '')
 {
     if (!isset($this->_esmtp['STARTTLS'])) {
         return PEAR::raiseError('LMTP server does not support authentication');
     }
     if (PEAR::isError($result = $this->_put('STARTTLS'))) {
         return $result;
     }
     if (PEAR::isError($result = $this->_parseResponse(220))) {
         return $result;
     }
     if (PEAR::isError($result = $this->_socket->enableCrypto(true, STREAM_CRYPTO_METHOD_TLS_CLIENT))) {
         return $result;
     } elseif ($result !== true) {
         return PEAR::raiseError('STARTTLS failed');
     }
     /* Send LHLO again to recieve the AUTH string from the LMTP server. */
     $this->_negotiate();
     if (empty($this->_esmtp['AUTH'])) {
         return PEAR::raiseError('LMTP server does not support authentication');
     }
     /*
      * If no method has been specified, get the name of the best supported
      * method advertised by the LMTP server.
      */
     if (empty($method) || $method === true) {
         if (PEAR::isError($method = $this->_getBestAuthMethod())) {
             /* Return the PEAR_Error object from _getBestAuthMethod(). */
             return $method;
         }
     } else {
         $method = Horde_String::upper($method);
     }
     switch ($method) {
         case 'DIGEST-MD5':
             $result = $this->_authDigest_MD5($uid, $pwd);
             break;
         case 'CRAM-MD5':
             $result = $this->_authCRAM_MD5($uid, $pwd);
             break;
         case 'LOGIN':
             $result = $this->_authLogin($uid, $pwd);
             break;
         case 'PLAIN':
             $result = $this->_authPlain($uid, $pwd);
             break;
         default:
             $result = new PEAR_Error("{$method} is not a supported authentication method");
             break;
     }
     /* If an error was encountered, return the PEAR_Error object. */
     if (PEAR::isError($result)) {
         return $result;
     }
     /* RFC-2554 requires us to re-negotiate ESMTP after an AUTH. */
     if (PEAR::isError($error = $this->_negotiate())) {
         return $error;
     }
     return true;
 }
开发者ID:horde,项目名称:horde,代码行数:72,代码来源:LMTPTLS.php

示例3: __construct

 /**
  * Constructor.
  *
  * Global constants defined:
  *   - [APPNAME]_TEMPLATES - (string) Location of template files.
  *
  * @param string $app  Application identifier.
  */
 public final function __construct($app)
 {
     $this->_app = $app;
     $appname = Horde_String::upper($app);
     if (!defined($appname . '_TEMPLATES')) {
         define($appname . '_TEMPLATES', $GLOBALS['registry']->get('templates', $app));
     }
     $this->_bootstrap();
 }
开发者ID:horde,项目名称:horde,代码行数:17,代码来源:Application.php

示例4: _setup

 /**
  *
  */
 protected function _setup()
 {
     parent::_setup();
     $view = $this->getView();
     $view->addTemplatePath(array($GLOBALS['fs_base'] . '/app/views/App', $GLOBALS['fs_base'] . '/app/views/App/apps/' . $this->_matchDict->app));
     $view->appname = $this->_matchDict->app;
     $view->hasAuthors = file_exists($GLOBALS['fs_base'] . '/app/views/App/apps/' . $this->_matchDict->app . '/appauthors.html.php');
     $view->hasDocs = file_exists($GLOBALS['fs_base'] . '/app/views/App/apps/' . $this->_matchDict->app . '/docs');
     $view->hasScreenshots = file_exists($GLOBALS['fs_base'] . '/app/views/App/apps/' . $this->_matchDict->app . '/appscreenshots.html.php');
     $view->hasRoadmap = file_exists($GLOBALS['fs_base'] . '/app/views/App/apps/' . $this->_matchDict->app . '/approadmap.html.php');
     // @TODO: Look this up in some kind of config/lookup array.
     $view->appnameHuman = in_array($this->_matchDict->app, array('imp', 'mimp', 'dimp')) ? Horde_String::upper($this->_matchDict->app) : Horde_String::ucfirst($this->_matchDict->app);
 }
开发者ID:horde,项目名称:horde-web,代码行数:16,代码来源:App.php

示例5: parse

 /**
  * Parses a keyword expression.
  *
  * @param string $column  This is the SQL field name the resulting
  *                        expression should test against.
  * @param string $expr    This is the keyword expression we want to parse.
  *
  * @return string  The query expression.
  * @throws Horde_Db_Exception
  */
 public static function parse($column, $expr)
 {
     /* First pass - scan the string for tokens.  Bare words are tokens, or
      * the user can quote strings to have embedded spaces, keywords, or
      * parentheses.  Parentheses can be used for grouping boolean
      * operators, and the boolean operators AND, OR, and NOT are all
      * recognized.
      *
      * The tokens are returned in the $tokens array -- an array of strings.
      * Each string in the array starts with either a `!'  or a `='.  `=' is
      * a bare word or quoted string we are searching for, and `!' indicates
      * a boolean operator or parenthesis.  A token that starts with a '.'
      * indicates a PostgreSQL word boundary search. */
     $tokens = array();
     while (!empty($expr)) {
         $expr = preg_replace('/^\\s+/', '', $expr);
         if (empty($expr)) {
             break;
         }
         if (substr($expr, 0, 1) == '(') {
             $expr = substr($expr, 1);
             $token = '!(';
         } elseif (substr($expr, 0, 1) == ')') {
             $expr = substr($expr, 1);
             $token = '!)';
         } elseif (substr($expr, 0, 1) == ',') {
             $expr = substr($expr, 1);
             $token = '!OR';
         } elseif (preg_match('/^(AND|OR|NOT)([^a-z].*)?$/i', $expr, $matches)) {
             $token = '!' . Horde_String::upper($matches[1]);
             $expr = substr($expr, strlen($matches[1]));
         } elseif (preg_match('/^"(([^"]|\\[0-7]+|\\[Xx][0-9a-fA-F]+|\\[^Xx0-7])*)"/', $expr, $matches)) {
             $token = '=' . stripcslashes($matches[1]);
             $expr = substr($expr, strlen($matches[0]));
         } elseif (preg_match('/^[^\\s\\(\\),]+/', $expr, $matches)) {
             $token = '=' . $matches[0];
             $expr = substr($expr, strlen($token) - 1);
         } else {
             throw new Horde_Db_Exception('Syntax error in search terms');
         }
         if ($token == '!AND') {
             /* !AND is implied by concatenation. */
             continue;
         }
         $tokens[] = $token;
     }
     /* Call the expression parser. */
     return self::_parseKeywords1($column, $tokens);
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:59,代码来源:SearchParser.php

示例6: _changePassword

 /**
  */
 protected function _changePassword($user, $oldpass, $newpass)
 {
     parent::_changePassword($user, $oldpass, $newpass);
     // Get existing user information.
     $entry = $this->_ldap->getEntry($this->_userdn);
     // Return if the user is not a Samba user.
     if (!in_array($this->_params['smb_objectclass'], $entry->getValue('objectClass', 'all'))) {
         return;
     }
     // Crypt_CHAP is not PSR-0 compatible.
     require_once 'Crypt/CHAP.php';
     $hash = new Crypt_CHAP_MSv2();
     $hash->password = $newpass;
     $lmpasswd = Horde_String::upper(bin2hex($hash->lmPasswordHash()));
     $ntpasswd = Horde_String::upper(bin2hex($hash->ntPasswordHash()));
     $settime = time();
     if (!is_null($this->_params['pw_expire_time'])) {
         // 24 hours/day * 60 min/hour * 60 secs/min = 86400 seconds/day
         $expiretime = $settime + $this->_params['pw_expire_time'] * 86400;
     } else {
         // This is NT's version of infinity time:
         // http://lists.samba.org/archive/samba/2004-January/078175.html
         $expiretime = 2147483647;
     }
     // All changes must succeed or fail together.  Attributes with
     // null name are not updated.
     $changes = array();
     if (!is_null($this->_params['lm_attribute'])) {
         $changes[$this->_params['lm_attribute']] = $lmpasswd;
     }
     if (!is_null($this->_params['nt_attribute'])) {
         $changes[$this->_params['nt_attribute']] = $ntpasswd;
     }
     if (!is_null($this->_params['pw_set_attribute'])) {
         $changes[$this->_params['pw_set_attribute']] = $settime;
     }
     if (!is_null($this->_params['pw_expire_attribute'])) {
         $changes[$this->_params['pw_expire_attribute']] = $expiretime;
     }
     if (count($changes) > 0) {
         try {
             $entry->replace($changes, true);
             $entry->update();
         } catch (Horde_Ldap_Exception $e) {
             throw new Passwd_Exception($e);
         }
     }
 }
开发者ID:horde,项目名称:horde,代码行数:50,代码来源:Smbldap.php

示例7: enable

 /**
  * Set a capability as enabled/disabled.
  *
  * @param array $capability  A capability (+ parameter).
  * @param boolean $enable    If true, enables the capability.
  */
 public function enable($capability, $enable = true)
 {
     $capability = Horde_String::upper($capability);
     $enabled = $this->isEnabled($capability);
     if ($enable && !$enabled) {
         switch ($capability) {
             case 'QRESYNC':
                 /* RFC 7162 [3.2.3] - Enabling QRESYNC also implies enabling
                  * of CONDSTORE. */
                 $this->enable('CONDSTORE');
                 break;
         }
         $this->_enabled[] = $capability;
         $this->notify();
     } elseif (!$enable && $enabled) {
         $this->_enabled = array_diff($this->_enabled, array($capability));
         $this->notify();
     }
 }
开发者ID:horde,项目名称:horde,代码行数:25,代码来源:Imap.php

示例8: create

 /**
  * Factory for a log object. Attempts to create a device specific file if
  * custom logging is requested.
  *
  * @param array $properties  The property array.
  *
  * @return Horde_Log_Logger  The logger object, correctly configured.
  */
 public function create($properties = array())
 {
     global $conf;
     $logger = false;
     switch ($conf['activesync']['logging']['type']) {
         case 'onefile':
             if (!empty($properties['DeviceId'])) {
                 $device_id = Horde_String::upper($properties['DeviceId']);
                 $format = "%timestamp% {$device_id} %levelName%: %message%" . PHP_EOL;
                 $formatter = new Horde_Log_Formatter_Simple(array('format' => $format));
                 $stream = fopen($conf['activesync']['logging']['path'], 'a');
                 if ($stream) {
                     $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream($stream, false, $formatter));
                 }
             }
             break;
         case 'perdevice':
             if (!empty($properties['DeviceId'])) {
                 $stream = fopen($conf['activesync']['logging']['path'] . '/' . Horde_String::upper($properties['DeviceId']) . '.txt', 'a');
                 if ($stream) {
                     $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream($stream));
                 }
             }
             break;
         case 'perrequest':
             if (!empty($properties['DeviceId'])) {
                 $dir = sprintf('%s/%s', $conf['activesync']['logging']['path'], Horde_String::upper($properties['DeviceId']));
                 if (!is_dir($dir)) {
                     mkdir($dir, 0755, true);
                 }
                 $path = sprintf('%s/%s-%s-%s.txt', $dir, time(), getmypid(), !empty($properties['Cmd']) ? $properties['Cmd'] : 'UnknownCmd');
                 $stream = fopen($path, 'a');
                 if ($stream) {
                     $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream($stream));
                 }
             }
     }
     if (!$logger) {
         $logger = new Horde_Log_Logger(new Horde_Log_Handler_Null());
     }
     return $logger;
 }
开发者ID:horde,项目名称:horde,代码行数:50,代码来源:Factory.php

示例9: dayMatches

 public function dayMatches($ts)
 {
     if (!empty($this->day['value']) && $this->day['value'] == '*') {
         return true;
     }
     $currentdaynum = '-' . date('j', $ts) . '-';
     $currentdaytxt = Horde_String::upper(date('D'));
     foreach ($this->day as $day) {
         if (@strpos($day['not'], $currentdaytxt) === false) {
             $v1 = @strpos($day['value'], $currentdaynum) !== false;
             $v2 = @strpos($day['and'], $currentdaytxt) !== false;
             if (!empty($day['and']) && ($v1 && $v2)) {
                 return true;
             } elseif (empty($day['and']) && $v1) {
                 return true;
             }
         }
     }
     return false;
 }
开发者ID:jubinpatel,项目名称:horde,代码行数:20,代码来源:Date.php

示例10: init

 /**
  * Initialize a HordeMap.
  *
  * @param array $params
  */
 public static function init(array $params = array())
 {
     global $browser, $conf, $language, $page_output, $registry;
     // Language specific file needed?
     $language = str_replace('_', '-', $language);
     if (!file_exists($registry->get('jsfs', 'horde') . '/map/lang/' . $language . '.js')) {
         $language = 'en-US';
     }
     $params = array_merge(array('conf' => array('language' => $language, 'markerImage' => strval(Horde_Themes::img('map/marker.png')), 'markerBackground' => strval(Horde_Themes::img('map/marker-shadow.png')), 'useMarkerLayer' => true), 'driver' => 'Horde', 'geocoder' => $conf['maps']['geocoder'], 'jsuri' => $registry->get('jsuri', 'horde') . '/map/', 'providers' => $conf['maps']['providers'], 'ssl' => $browser->usingSSLConnection()), $params);
     foreach ($params['providers'] as $layer) {
         switch ($layer) {
             case 'Google':
                 $params['conf']['apikeys']['google'] = $conf['api']['googlemaps'];
                 break;
             case 'Cloudmade':
                 $params['conf']['apikeys']['cloudmade'] = $conf['api']['cloudmade'];
                 break;
             case 'Mytopo':
                 /* Mytopo requires a hash of the *client* IP address and the
                  * key. Note that this also causes Mytopo to break if the
                  * client's IP address presented as an internal address. */
                 $params['conf']['apikeys']['mytopo'] = array('id' => $conf['api']['mytopo_partnerID'], 'hash' => Horde_String::upper(md5($conf['api']['mytopo'] . $browser->getIpAddress())));
                 break;
         }
     }
     if (!empty($params['geocoder'])) {
         switch ($params['geocoder']) {
             case 'Google':
                 $params['conf']['apikeys']['google'] = $conf['api']['googlemaps'];
                 break;
             case 'Cloudmade':
                 $params['conf']['apikeys']['cloudmade'] = $conf['api']['cloudmade'];
                 break;
         }
     }
     $page_output->addScriptFile('map/map.js', 'horde');
     $page_output->addInlineScript(array('HordeMap.initialize(' . Horde_Serialize::serialize($params, HORDE_SERIALIZE::JSON) . ');'));
 }
开发者ID:horde,项目名称:horde,代码行数:43,代码来源:HordeMap.php

示例11: create

 /**
  * Returns the VFS instance.
  *
  * @param string $backend  The backend to return.
  *
  * @return Horde_Vfs  The VFS object.
  */
 public function create($backend)
 {
     if (empty($this->_instances[$backend])) {
         $be_config = Gollem_Auth::getBackend($backend);
         $params = $be_config['params'];
         switch (Horde_String::lower($be_config['driver'])) {
             case 'sql':
             case 'sqlfile':
             case 'musql':
                 $db_params = $params;
                 unset($db_params['table']);
                 $params['db'] = $this->_injector->getInstance('Horde_Core_Factory_Db')->create('gollem', $db_params);
                 $params['user'] = $GLOBALS['registry']->getAuth();
                 break;
         }
         $vfs = Horde_Vfs::factory($be_config['driver'], $params);
         if (!empty($be_config['quota'])) {
             $vfs->setQuotaRoot($be_config['root'] == '/' ? '' : $be_config['root']);
             if (isset($be_config['quota_val'])) {
                 $vfs->setQuota($be_config['quota_val'], $be_config['quota_metric']);
             } else {
                 $quota_metric = array('B' => Horde_Vfs::QUOTA_METRIC_BYTE, 'KB' => Horde_Vfs::QUOTA_METRIC_KB, 'MB' => Horde_Vfs::QUOTA_METRIC_MB, 'GB' => Horde_Vfs::QUOTA_METRIC_GB);
                 $quota_str = explode(' ', $be_config['quota'], 2);
                 if (is_numeric($quota_str[0])) {
                     $metric = trim(Horde_String::upper($quota_str[1]));
                     if (!isset($quota_metric[$metric])) {
                         $metric = 'B';
                     }
                     $vfs->setQuota($quota_str[0], $quota_metric[$metric]);
                 }
             }
         }
         $this->_instances[$backend] = $vfs;
     }
     return $this->_instances[$backend];
 }
开发者ID:DSNS-LAB,项目名称:Dmail,代码行数:43,代码来源:Vfs.php

示例12: formatOptionStrings

 /**
  * Return a comma-separated list of option strings & metavariables.
  */
 public function formatOptionStrings($option)
 {
     if ($option->takesValue()) {
         $metavar = $option->metavar ? $option->metavar : Horde_String::upper($option->dest);
         $short_opts = array();
         foreach ($option->shortOpts as $sopt) {
             $short_opts[] = sprintf($this->_short_opt_fmt, $sopt, $metavar);
         }
         $long_opts = array();
         foreach ($option->longOpts as $lopt) {
             $long_opts[] = sprintf($this->_long_opt_fmt, $lopt, $metavar);
         }
     } else {
         $short_opts = $option->shortOpts;
         $long_opts = $option->longOpts;
     }
     if ($this->short_first) {
         $opts = array_merge($short_opts, $long_opts);
     } else {
         $opts = array_merge($long_opts, $short_opts);
     }
     return implode(', ', $opts);
 }
开发者ID:raz0rsdge,项目名称:horde,代码行数:26,代码来源:HelpFormatter.php

示例13: transform

/**
 * Performs the actual copying/modifying of the files.
 *
 */
function transform($outdir)
{
    global $files, $rawfiles, $info, $config;
    $pk = field_get_primary_key();
    // search/replace arrays for default replacment of vocabulary:
    $search = array('zitem_id', 'ZOMBIE', 'zombie', 'Zombie', 'zitems', 'Zitems', 'zitem', 'Zitem');
    $replace = array($pk['name'], Horde_String::upper($config['app']), Horde_String::lower($config['app']), Horde_String::ucfirst($config['app']), Horde_String::lower($config['set']), Horde_String::ucfirst($config['set']), Horde_String::lower($config['item']), Horde_String::ucfirst($config['item']));
    foreach ($files as $file) {
        $infile = ZOMBIE_BASE . '/' . $file;
        // outfile may be renamed (zombie.php ->appname.php)
        $outfile = $outdir . '/' . str_replace($search, $replace, $file);
        mkdir_p(dirname($outfile));
        $c = file_get_contents($infile);
        // deduct handler function name from the file name:
        $handler = str_replace('.php', '', trim($file));
        $handler = str_replace('.inc', '', $handler);
        $handler = str_replace('/', '_', $handler);
        $handler = 't_' . $handler;
        // if handler is there, apply it:
        if (function_exists($handler)) {
            print "handler: {$file}\n";
            $c = $handler($c);
        } else {
            print "copy   : {$file}\n";
        }
        //finally do default replacments and write file
        $c = str_replace($search, $replace, $c);
        $fh = fopen($outfile, "wb");
        if ($fh) {
            fwrite($fh, $c);
            fclose($fh);
        }
    }
    // all the tricky stuff is done, just do raw copy of graphics:
    foreach ($rawfiles as $file) {
        $infile = "../{$file}";
        // outfile is in outdir and maybe renamed (zombie.php ->appname.php)
        $outfile = $outdir . '/' . str_replace($search, $replace, $file);
        mkdir_p(dirname($outfile));
        echo "rawcopy:   {$file}\n";
        copy($infile, $outfile);
    }
}
开发者ID:Gomez,项目名称:horde,代码行数:47,代码来源:rampage.php

示例14: addRules

 /**
  * Adds rules from this ruleset to a VTIMEZONE component.
  *
  * @param Horde_Icalendar_Vtimezone $tz  A VTIMEZONE component.
  * @param string $tzid                   The timezone ID of the component.
  * @param string $name                   A timezone name abbreviation.
  *                                       May contain a placeholder that is
  *                                       replaced the Rules' "Letter(s)"
  *                                       entry.
  * @param array $startOffset             An offset hash describing the
  *                                       base offset of a timezone.
  * @param Horde_Date $start              Start of the period to add rules
  *                                       for.
  * @param Horde_Date $end                End of the period to add rules
  *                                       for.
  */
 public function addRules(Horde_Icalendar_Vtimezone $tz, $tzid, $name, $startOffset, Horde_Date $start, Horde_Date $end = null)
 {
     $offset = $startOffset;
     foreach ($this->_rules as $rule) {
         $year = $rule[3];
         if ($year[0] == 'o') {
             // TO is "only"
             $rule[3] = $rule[2];
         }
         if ($rule[3][0] != 'm' && $rule[3] < $start->year) {
             // TO is not maximum and is before the searched period
             continue;
         }
         if ($end && $rule[2][0] != 'm' && $rule[2] > $end->year) {
             // FROM is not "minimum" and is after the searched period
             break;
         }
         if ($rule[2][0] != 'm' && $rule[2] < $start->year) {
             $rule[2] = $start->year;
         }
         if ($rule[8] == 0) {
             $component = new Horde_Icalendar_Standard();
             $component->setAttribute('TZOFFSETFROM', $offset);
             $component->setAttribute('TZOFFSETTO', $startOffset);
             $offset = $startOffset;
         } else {
             $component = new Horde_Icalendar_Daylight();
             $component->setAttribute('TZOFFSETFROM', $offset);
             $offset = $this->_getOffset($startOffset, $rule[8]);
             $component->setAttribute('TZOFFSETTO', $offset);
         }
         $month = Horde_Timezone::getMonth($rule[5]);
         // Retrieve time of rule start.
         preg_match('/(\\d+)(?::(\\d+))?(?::(\\d+))?(w|s|u)?/', $rule[7], $match);
         if (!isset($match[2])) {
             $match[2] = 0;
         }
         if ($rule[2] == $rule[3] && preg_match('/^\\d+$/', $rule[6])) {
             // Rule lasts only for a single year and starts on a specific
             // date.
             $rdate = new Horde_Date(array('year' => $rule[2], 'month' => Horde_Timezone::getMonth($rule[5]), 'mday' => $rule[6], 'hour' => $match[1], 'min' => $match[2], 'sec' => 0));
             $component->setAttribute('DTSTART', $rdate);
         } elseif (substr($rule[6], 0, 4) == 'last') {
             // Rule starts on the last of a certain weekday of the month.
             $weekday = $this->_weekdays[substr($rule[6], 4, 3)];
             $last = new Horde_Date(array('year' => $rule[2], 'month' => $month, 'mday' => Horde_Date_Utils::daysInMonth($month, $rule[2]), 'hour' => $match[1], 'min' => $match[2], 'sec' => 0));
             while ($last->dayOfWeek() != $weekday) {
                 $last->mday--;
             }
             $component->setAttribute('DTSTART', $last);
             if ($rule[3][0] == 'm') {
                 $until = '';
             } else {
                 $last = new Horde_Date(array('year' => $rule[3], 'month' => $month, 'mday' => Horde_Date_Utils::daysInMonth($month, $rule[2]), 'hour' => $match[1], 'min' => $match[2], 'sec' => 0), $tzid);
                 while ($last->dayOfWeek() != $weekday) {
                     $last->mday--;
                 }
                 $last->setTimezone('UTC');
                 $until = ';UNTIL=' . $last->format('Ymd\\THIs') . 'Z';
             }
             $component->setAttribute('RRULE', 'FREQ=YEARLY;BYDAY=-1' . Horde_String::upper(substr($rule[6], 4, 2)) . ';BYMONTH=' . $month . $until);
         } elseif (strpos($rule[6], '>=')) {
             // Rule starts on a certain weekday after a certain day of
             // month.
             list($weekday, $day) = explode('>=', $rule[6]);
             $weekdayInt = $this->_weekdays[substr($weekday, 0, 3)];
             $first = new Horde_Date(array('year' => $rule[2], 'month' => $month, 'mday' => $day, 'hour' => $match[1], 'min' => $match[2], 'sec' => 0));
             while ($first->dayOfWeek() != $weekdayInt) {
                 $first->mday++;
             }
             $component->setAttribute('DTSTART', $first);
             if ($rule[3][0] == 'm') {
                 $until = '';
             } else {
                 $last = new Horde_Date(array('year' => $rule[3], 'month' => $month, 'mday' => $day, 'hour' => $match[1], 'min' => $match[2], 'sec' => 0), $tzid);
                 while ($last->dayOfWeek() != $weekday) {
                     $last->mday++;
                 }
                 $last->setTimezone('UTC');
                 $until = ';UNTIL=' . $last->format('Ymd\\THIs') . 'Z';
             }
             for ($days = array(), $i = $day, $lastDay = min(Horde_Date_Utils::daysInMonth($month, $rule[2]), $i + 6); $day > 1 && $i <= $lastDay; $i++) {
                 $days[] = $i;
             }
//.........这里部分代码省略.........
开发者ID:jubinpatel,项目名称:horde,代码行数:101,代码来源:Rule.php

示例15: _

            echo _("Today");
        } elseif ($which == 1) {
            echo _("Tomorrow");
        } else {
            echo strftime('%A', mktime(0, 0, 0, date('m'), date('d') + $futureDays, date('Y')));
        }
        ?>
</strong><br /><?php 
        echo strftime('%b %d', mktime(0, 0, 0, date('m'), date('d') + $futureDays, date('Y')));
        ?>
</td>
             <td><span style="color:red"><?php 
        echo $day->high . '&deg;' . Horde_String::upper($this->units['temp']);
        ?>
</span>/<span style="color:blue"><?php 
        echo $day->low . '&deg;' . Horde_String::upper($this->units['temp']);
        ?>
</span></td>
             <td><?php 
        echo Horde_Themes_Image::tag('weather/32x32/' . $day->icon);
        ?>
<br /><?php 
        echo $day->conditions;
        ?>
</td>
              <?php 
        if (isset($this->params['detailedForecast'])) {
            ?>
               <?php 
            if (in_array(Horde_Service_Weather::FORECAST_FIELD_PRECIPITATION, $this->forecast->fields)) {
                ?>
开发者ID:raz0rsdge,项目名称:horde,代码行数:31,代码来源:weather_content.html.php


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