| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -125,9 +125,10 @@ class Sort extends Object | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 *   if it is not currently sorted (the default value is ascending order). | 
					 | 
					 | 
					 | 
						 *   if it is not currently sorted (the default value is ascending order). | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * - The "label" element specifies what label should be used when calling [[link()]] to create | 
					 | 
					 | 
					 | 
						 * - The "label" element specifies what label should be used when calling [[link()]] to create | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 *   a sort link. If not set, [[Inflector::camel2words()]] will be called to get a label. | 
					 | 
					 | 
					 | 
						 *   a sort link. If not set, [[Inflector::camel2words()]] will be called to get a label. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 *   Note that it will not be HTML-encoded. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * | 
					 | 
					 | 
					 | 
						 * | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * Note that if the Sort object is already created, you can only use the full format | 
					 | 
					 | 
					 | 
						 * Note that if the Sort object is already created, you can only use the full format | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * to configure every attribute. Each attribute must include these elements: asc, desc and label. | 
					 | 
					 | 
					 | 
						 * to configure every attribute. Each attribute must include these elements: asc and desc. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 */ | 
					 | 
					 | 
					 | 
						 */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						public $attributes = array(); | 
					 | 
					 | 
					 | 
						public $attributes = array(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/** | 
					 | 
					 | 
					 | 
						/** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -195,13 +196,11 @@ class Sort extends Object | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									$attributes[$attribute] = array( | 
					 | 
					 | 
					 | 
									$attributes[$attribute] = array( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'asc' => array($attribute => self::ASC), | 
					 | 
					 | 
					 | 
										'asc' => array($attribute => self::ASC), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'desc' => array($attribute => self::DESC), | 
					 | 
					 | 
					 | 
										'desc' => array($attribute => self::DESC), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'label' => Inflector::camel2words($attribute), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									); | 
					 | 
					 | 
					 | 
									); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								} elseif (!isset($attribute['asc'], $attribute['desc'], $attribute['label'])) { | 
					 | 
					 | 
					 | 
								} elseif (!isset($attribute['asc'], $attribute['desc'])) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									$attributes[$name] = array_merge(array( | 
					 | 
					 | 
					 | 
									$attributes[$name] = array_merge(array( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'asc' => array($name => self::ASC), | 
					 | 
					 | 
					 | 
										'asc' => array($name => self::ASC), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'desc' => array($name => self::DESC), | 
					 | 
					 | 
					 | 
										'desc' => array($name => self::DESC), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
										'label' => Inflector::camel2words($name), | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									), $attribute); | 
					 | 
					 | 
					 | 
									), $attribute); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								} else { | 
					 | 
					 | 
					 | 
								} else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									$attributes[$name] = $attribute; | 
					 | 
					 | 
					 | 
									$attributes[$name] = $attribute; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -287,7 +286,11 @@ class Sort extends Object | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * Based on the sort direction, the CSS class of the generated hyperlink will be appended | 
					 | 
					 | 
					 | 
						 * Based on the sort direction, the CSS class of the generated hyperlink will be appended | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * with "asc" or "desc". | 
					 | 
					 | 
					 | 
						 * with "asc" or "desc". | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @param string $attribute the attribute name by which the data should be sorted by. | 
					 | 
					 | 
					 | 
						 * @param string $attribute the attribute name by which the data should be sorted by. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @param array $options additional HTML attributes for the hyperlink tag | 
					 | 
					 | 
					 | 
						 * @param array $options additional HTML attributes for the hyperlink tag. | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * There is one special attribute `label` which will be used as the label of the hyperlink. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * If this is not set, the label defined in [[attributes]] will be used. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * If no label is defined, [[yii\helpers\Inflector::camel2words()]] will be called to get a label. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						 * Note that it will not be HTML-encoded. | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @return string the generated hyperlink | 
					 | 
					 | 
					 | 
						 * @return string the generated hyperlink | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @throws InvalidConfigException if the attribute is unknown | 
					 | 
					 | 
					 | 
						 * @throws InvalidConfigException if the attribute is unknown | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 */ | 
					 | 
					 | 
					 | 
						 */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -304,7 +307,18 @@ class Sort extends Object | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							$url = $this->createUrl($attribute); | 
					 | 
					 | 
					 | 
							$url = $this->createUrl($attribute); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							$options['data-sort'] = $this->createSortVar($attribute); | 
					 | 
					 | 
					 | 
							$options['data-sort'] = $this->createSortVar($attribute); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return Html::a($this->attributes[$attribute]['label'], $url, $options); | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (isset($options['label'])) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								$label = $options['label']; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								unset($options['label']); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								if (isset($this->attributes[$attribute]['label'])) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									$label = $this->attributes[$attribute]['label']; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								} else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									$label = Inflector::camel2words($attribute); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							return Html::a($label, $url, $options); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/** | 
					 | 
					 | 
					 | 
						/** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |