Exemple #1
0
 /**
  * Property Begin Bind
  *
  * If no PHPExcel_Style_Border has been bound to PHPExcel_Style_Borders then bind this one. Return the actual bound one.
  *
  * @return PHPExcel_Style_Border
  */
 private function propertyBeginBind()
 {
     if (!isset($this->_parent)) {
         return $this;
     }
     // I am already bound
     if ($this->_parent->propertyIsBound($this->_parentPropertyName)) {
         switch ($this->_parentPropertyName) {
             case "_left":
                 return $this->_parent->getLeft();
             case "_right":
                 return $this->_parent->getRight();
             case "_top":
                 return $this->_parent->getTop();
             case "_bottom":
                 return $this->_parent->getBottom();
             case "_diagonal":
                 return $this->_parent->getDiagonal();
             case "_vertical":
                 return $this->_parent->getVertical();
             case "_horizontal":
                 return $this->_parent->getHorizontal();
         }
     }
     $this->_parent->propertyCompleteBind($this, $this->_parentPropertyName);
     // Bind myself
     $this->_parent = null;
     return $this;
 }
Exemple #2
0
 /**
  * Get hash code
  *
  * @return string Hash code
  */
 public function getHashCode()
 {
     $hashConditionals = '';
     foreach ($this->conditionalStyles as $conditional) {
         $hashConditionals .= $conditional->getHashCode();
     }
     return md5($this->fill->getHashCode() . $this->font->getHashCode() . $this->borders->getHashCode() . $this->alignment->getHashCode() . $this->numberFormat->getHashCode() . $hashConditionals . $this->protection->getHashCode() . ($this->quotePrefix ? 't' : 'f') . __CLASS__);
 }
Exemple #3
0
 /**
  * Get hash code
  *
  * @return string	Hash code
  */
 public function getHashCode()
 {
     $hashConditionals = '';
     foreach ($this->_conditionalStyles as $conditional) {
         $hashConditionals .= $conditional->getHashCode();
     }
     return md5($this->_fill->getHashCode() . $this->_font->getHashCode() . $this->_borders->getHashCode() . $this->_alignment->getHashCode() . $this->_numberFormat->getHashCode() . $hashConditionals . $this->_protection->getHashCode() . __CLASS__);
 }
Exemple #4
0
	/**
	 * Build style array from subcomponents
	 *
	 * @param array $array        	
	 * @return array
	 */
	public function getStyleArray($array) {
		switch ($this->_parentPropertyName) {
			case '_allBorders' :
				$key = 'allborders';
				break;
			
			case '_bottom' :
				$key = 'bottom';
				break;
			
			case '_diagonal' :
				$key = 'diagonal';
				break;
			
			case '_horizontal' :
				$key = 'horizontal';
				break;
			
			case '_inside' :
				$key = 'inside';
				break;
			
			case '_left' :
				$key = 'left';
				break;
			
			case '_outline' :
				$key = 'outline';
				break;
			
			case '_right' :
				$key = 'right';
				break;
			
			case '_top' :
				$key = 'top';
				break;
			
			case '_vertical' :
				$key = 'vertical';
				break;
		}
		return $this->_parent->getStyleArray ( array (
				$key => $array 
		) );
	}
Exemple #5
0
 /**
  * Create a new PHPExcel_Style
  *
  * @param boolean $isSupervisor
  */
 public function __construct($isSupervisor = false)
 {
     // Supervisor?
     $this->_isSupervisor = $isSupervisor;
     // Initialise values
     $this->_conditionalStyles = array();
     $this->_font = new PHPExcel_Style_Font($isSupervisor);
     $this->_fill = new PHPExcel_Style_Fill($isSupervisor);
     $this->_borders = new PHPExcel_Style_Borders($isSupervisor);
     $this->_alignment = new PHPExcel_Style_Alignment($isSupervisor);
     $this->_numberFormat = new PHPExcel_Style_NumberFormat($isSupervisor);
     $this->_protection = new PHPExcel_Style_Protection($isSupervisor);
     // bind parent if we are a supervisor
     if ($isSupervisor) {
         $this->_font->bindParent($this);
         $this->_fill->bindParent($this);
         $this->_borders->bindParent($this);
         $this->_alignment->bindParent($this);
         $this->_numberFormat->bindParent($this);
         $this->_protection->bindParent($this);
     }
 }
Exemple #6
0
 /**
  * Create CSS style (PHPExcel_Style_Borders)
  *
  * @param	PHPExcel_Style_Borders		$pStyle			PHPExcel_Style_Borders
  * @return	array
  */
 private function _createCSSStyleBorders(PHPExcel_Style_Borders $pStyle)
 {
     // Construct CSS
     $css = array();
     // Create CSS
     $css['border-bottom'] = $this->_createCSSStyleBorder($pStyle->getBottom());
     $css['border-top'] = $this->_createCSSStyleBorder($pStyle->getTop());
     $css['border-left'] = $this->_createCSSStyleBorder($pStyle->getLeft());
     $css['border-right'] = $this->_createCSSStyleBorder($pStyle->getRight());
     // Return
     return $css;
 }
Exemple #7
0
 /**
  * Write Border
  *
  * @param 	PHPExcel_Shared_XMLWriter			$objWriter 		XML Writer
  * @param 	PHPExcel_Style_Borders				$pBorders		Borders style
  * @throws 	Exception
  */
 private function _writeBorder(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Borders $pBorders = null)
 {
     // Write border
     $objWriter->startElement('border');
     // Diagonal?
     switch ($pBorders->getDiagonalDirection()) {
         case PHPExcel_Style_Borders::DIAGONAL_UP:
             $objWriter->writeAttribute('diagonalUp', 'true');
             $objWriter->writeAttribute('diagonalDown', 'false');
             break;
         case PHPExcel_Style_Borders::DIAGONAL_DOWN:
             $objWriter->writeAttribute('diagonalUp', 'false');
             $objWriter->writeAttribute('diagonalDown', 'true');
             break;
         case PHPExcel_Style_Borders::DIAGONAL_BOTH:
             $objWriter->writeAttribute('diagonalUp', 'true');
             $objWriter->writeAttribute('diagonalDown', 'true');
             break;
     }
     // BorderPr
     $this->_writeBorderPr($objWriter, 'left', $pBorders->getLeft());
     $this->_writeBorderPr($objWriter, 'right', $pBorders->getRight());
     $this->_writeBorderPr($objWriter, 'top', $pBorders->getTop());
     $this->_writeBorderPr($objWriter, 'bottom', $pBorders->getBottom());
     $this->_writeBorderPr($objWriter, 'diagonal', $pBorders->getDiagonal());
     $objWriter->endElement();
 }
Exemple #8
0
 /**
  * Get Borders
  *
  * @return PHPExcel_Style_Borders
  */
 public function getBorders()
 {
     if (isset($this->_borders)) {
         return $this->_borders;
     }
     $property = new PHPExcel_Style_Borders();
     $property->propertyPrepareBind($this, "_borders");
     return $property;
 }
Exemple #9
0
 /**
  * Create CSS style (PHPExcel_Style_Borders)
  * 
  * @param	PHPExcel_Style_Borders 		$pStyle			PHPExcel_Style_Borders
  * @return	string
  */
 private function _createCSSStyleBorders(PHPExcel_Style_Borders $pStyle)
 {
     // Construct HTML
     $html = '';
     // Create CSS
     $html .= '        border-bottom: ' . $this->_createCSSStyleBorder($pStyle->getBottom()) . ';' . "\r\n";
     $html .= '        border-top: ' . $this->_createCSSStyleBorder($pStyle->getTop()) . ';' . "\r\n";
     $html .= '        border-left: ' . $this->_createCSSStyleBorder($pStyle->getLeft()) . ';' . "\r\n";
     $html .= '        border-right: ' . $this->_createCSSStyleBorder($pStyle->getRight()) . ';' . "\r\n";
     // Return
     return $html;
 }
Exemple #10
0
 /**
  * Create CSS style (PHPExcel_Style_Borders)
  *
  * @param	PHPExcel_Style_Borders 		$pStyle			PHPExcel_Style_Borders
  * @return	string
  */
 private function _createCSSStyleBorders(PHPExcel_Style_Borders $pStyle)
 {
     // Construct CSS
     $css = '';
     // Create CSS
     $css .= 'border-bottom: ' . $this->_createCSSStyleBorder($pStyle->getBottom()) . '; ';
     $css .= 'border-top: ' . $this->_createCSSStyleBorder($pStyle->getTop()) . '; ';
     $css .= 'border-left: ' . $this->_createCSSStyleBorder($pStyle->getLeft()) . '; ';
     $css .= 'border-right: ' . $this->_createCSSStyleBorder($pStyle->getRight()) . '; ';
     // Return
     return $css;
 }