| updateSelection cannot extract token [message #2916] | 
			Sat, 17 March 2012 02:05   | 
		 
		
			
				
				
				
					
						  
						kong
						 Messages: 90 Registered: December 2011 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Radicore v1.72.0 
Apache Version 2.2.21   
PHP Version 5.3.8 
MySQL Version 5.5.16   
 
1. Use updateSelection with multiple SET like this: 
 
function _cm_post_updateRecord ($rowdata, $old_data) 
{ 
  $a = 1; 
  $b = 2; 
  $where = "'{$rowdata['lft']}'<lft AND rgt<'{$rowdata['rgt']}'"; 
  $replace = "lvl='lvl+{$a}', lft='lft+{$b}', rgt='rgt+{$b}'"; 
  this->updateSelection($where, $replace); 
  return $rowdata; 
} // _cm_post_updateRecord 
 
2. Doing the above will result in:  
 
Fatal Error: Cannot extract token from: ', lft='lft+2', rgt='rgt+2'' (# 256). 
 
3. Had to rewrite into something like below in order to avoid this fatal error: 
 
function _cm_post_updateRecord ($rowdata, $old_data) 
{ 
  $a = 1; 
  $b = 2; 
  $where = "'{$rowdata['lft']}'<lft AND rgt<'{$rowdata['rgt']}'"; 
  $replace = "lvl='lvl+{$a}'"; 
  this->updateSelection($where, $replace); 
  $replace = "lft='lft+{$b}'"; 
  this->updateSelection($where, $replace); 
  $replace = "rgt='rgt+{$b}'"; 
  this->updateSelection($where, $replace); 
  return $rowdata; 
} // _cm_post_updateRecord 
 
		
		
		
 |  
	| 
		
	 | 
 
 
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 | 
	| 
		
 |