function _format_recur ( $recurlabel, $recurdata ) {
    $recur = null;
    foreach( $recurdata as $therule ) {
      $attributes = ( isset( $therule['params'] )) ? $this->_createParams( $therule['params'] ) : null;
      $content1  = $content2  = null;
      foreach( $therule['value'] as $rulelabel => $rulevalue ) {
        switch( $rulelabel ) {
          case 'FREQ': {
            $content1 .= "FREQ=$rulevalue";
            break;
          }
          case 'UNTIL': {
            $content2 .= ";UNTIL=";
            $content2 .= $this->_format_date_time( $rulevalue );
            break;
          }
          case 'COUNT':
          case 'INTERVAL':
          case 'WKST': {
            $content2 .= ";$rulelabel=$rulevalue";
            break;
          }
          case 'BYSECOND':
          case 'BYMINUTE':
          case 'BYHOUR':
          case 'BYMONTHDAY':
          case 'BYYEARDAY':
          case 'BYWEEKNO':
          case 'BYMONTH':
          case 'BYSETPOS': {
            $content2 .= ";$rulelabel=";
            if( is_array( $rulevalue )) {
              foreach( $rulevalue as $vix => $valuePart ) {
                $content2 .= ( $vix ) ? ',' : null;
                $content2 .= $valuePart;
              }
            }
            else
             $content2 .= $rulevalue;
            break;
          }
          case 'BYDAY': {
            $content2 .= ";$rulelabel=";
            $bydaycnt = 0;
            foreach( $rulevalue as $vix => $valuePart ) {
              $content21 = $content22 = null;
              if( is_array( $valuePart )) {
                $content2 .= ( $bydaycnt ) ? ',' : null;
                foreach( $valuePart as $vix2 => $valuePart2 ) {
                  if( 'DAY' != strtoupper( $vix2 ))
                      $content21 .= $valuePart2;
                  else
                    $content22 .= $valuePart2;
                }
                $content2 .= $content21.$content22;
                $bydaycnt++;
              }
              else {
                $content2 .= ( $bydaycnt ) ? ',' : null;
                if( 'DAY' != strtoupper( $vix ))
                    $content21 .= $valuePart;
                else {
                  $content22 .= $valuePart;
                  $bydaycnt++;
                }
                $content2 .= $content21.$content22;
              }
            }
            break;
          }
          default: {
            $content2 .= ";$rulelabel=$rulevalue";
            break;
          }
        }
      }
      $recur .= $this->_createElement( $recurlabel, $attributes, $content1.$content2 );
    }
    return $recur;
  }
function _format_recur ( $recurlabel, $recurdata ) {
    $recur = null;
    foreach( $recurdata as $therule ) {
      $attributes = ( isset( $therule['params'] )) ? $this->_createParams( $therule['params'] ) : null;
      $content1  = $content2  = null;
      foreach( $therule['value'] as $rulelabel => $rulevalue ) {
        switch( $rulelabel ) {
          case 'FREQ': {
            $content1 .= "FREQ=$rulevalue";
            break;
          }
          case 'UNTIL': {
            $content2 .= ";UNTIL=";
            $content2 .= $this->_format_date_time( $rulevalue );
            break;
          }
          case 'COUNT':
          case 'INTERVAL':
          case 'WKST': {
            $content2 .= ";$rulelabel=$rulevalue";
            break;
          }
          case 'BYSECOND':
          case 'BYMINUTE':
          case 'BYHOUR':
          case 'BYMONTHDAY':
          case 'BYYEARDAY':
          case 'BYWEEKNO':
          case 'BYMONTH':
          case 'BYSETPOS': {
            $content2 .= ";$rulelabel=";
            if( is_array( $rulevalue )) {
              foreach( $rulevalue as $vix => $valuePart ) {
                $content2 .= ( $vix ) ? ',' : null;
                $content2 .= $valuePart;
              }
            }
            else
             $content2 .= $rulevalue;
            break;
          }
          case 'BYDAY': {
            $content2 .= ";$rulelabel=";
            $bydaycnt = 0;
            foreach( $rulevalue as $vix => $valuePart ) {
              $content21 = $content22 = null;
              if( is_array( $valuePart )) {
                $content2 .= ( $bydaycnt ) ? ',' : null;
                foreach( $valuePart as $vix2 => $valuePart2 ) {
                  if( 'DAY' != strtoupper( $vix2 ))
                      $content21 .= $valuePart2;
                  else
                    $content22 .= $valuePart2;
                }
                $content2 .= $content21.$content22;
                $bydaycnt++;
              }
              else {
                $content2 .= ( $bydaycnt ) ? ',' : null;
                if( 'DAY' != strtoupper( $vix ))
                    $content21 .= $valuePart;
                else {
                  $content22 .= $valuePart;
                  $bydaycnt++;
                }
                $content2 .= $content21.$content22;
              }
            }
            break;
          }
          default: {
            $content2 .= ";$rulelabel=$rulevalue";
            break;
          }
        }
      }
      $recur .= $this->_createElement( $recurlabel, $attributes, $content1.$content2 );
    }
    return $recur;
  }
function _format_recur ( $ recurlabel , $ recurdata ) { $ recur = null ; foreach ( $ recurdata as $ therule ) { $ attributes = ( isset ( $ therule [ 'params' ] ) ) ? $ this -> _createParams ( $ therule [ 'params' ] ) : null ; $ content1 = $ content2 = null ; foreach ( $ therule [ 'value' ] as $ rulelabel => $ rulevalue ) { switch ( $ rulelabel ) { case 'FREQ' : { $ content1 .= "FREQ=$rulevalue" ; break ; } case 'UNTIL' : { $ content2 .= ";UNTIL=" ; $ content2 .= $ this -> _format_date_time ( $ rulevalue ) ; break ; } case 'COUNT' : case 'INTERVAL' : case 'WKST' : { $ content2 .= ";$rulelabel=$rulevalue" ; break ; } case 'BYSECOND' : case 'BYMINUTE' : case 'BYHOUR' : case 'BYMONTHDAY' : case 'BYYEARDAY' : case 'BYWEEKNO' : case 'BYMONTH' : case 'BYSETPOS' : { $ content2 .= ";$rulelabel=" ; if ( is_array ( $ rulevalue ) ) { foreach ( $ rulevalue as $ vix => $ valuePart ) { $ content2 .= ( $ vix ) ? ',' : null ; $ content2 .= $ valuePart ; } } else $ content2 .= $ rulevalue ; break ; } case 'BYDAY' : { $ content2 .= ";$rulelabel=" ; $ bydaycnt = 0 ; foreach ( $ rulevalue as $ vix => $ valuePart ) { $ content21 = $ content22 = null ; if ( is_array ( $ valuePart ) ) { $ content2 .= ( $ bydaycnt ) ? ',' : null ; foreach ( $ valuePart as $ vix2 => $ valuePart2 ) { if ( 'DAY' != strtoupper ( $ vix2 ) ) $ content21 .= $ valuePart2 ; else $ content22 .= $ valuePart2 ; } $ content2 .= $ content21 . $ content22 ; $ bydaycnt ++ ; } else { $ content2 .= ( $ bydaycnt ) ? ',' : null ; if ( 'DAY' != strtoupper ( $ vix ) ) $ content21 .= $ valuePart ; else { $ content22 .= $ valuePart ; $ bydaycnt ++ ; } $ content2 .= $ content21 . $ content22 ; } } break ; } default : { $ content2 .= ";$rulelabel=$rulevalue" ; break ; } } } $ recur .= $ this -> _createElement ( $ recurlabel , $ attributes , $ content1 . $ content2 ) ; } return $ recur ; }
creates formatted output for calendar component property data value type recur

@author Kjell-Inge Gustafsson <ical@kigkonsult.se>
@since 0.9.7 - 2006-11-20
@param array $recurlabel
@param array $recurdata
@return string
creates formatted output for calendar component property data value type recur