我在做asp,aspx等非php产品跟php的dz整合时,出现一处产品整合Bug,如果未涉及此类问题请不必读下文.
虽然支持 uc.php的更名但是 代码中并未支持到其他扩展名
1
foreach
(
$this
->
cache[
'
apps
'
]
as
$appid
=>
$app
) {
2 if ( $app [ ' synlogin ' ] && $app [ ' appid ' ] != $this -> app[ ' appid ' ]) {
3 $synstr .= ' <script type="text/javascript" src=" ' . $app [ ' url ' ] . ' /api/ uc.php ?time= ' . $this -> time . ' &code= ' . urlencode ( $this -> authcode( ' action=synlogin&username= ' . $this -> user[ ' username ' ] . ' &uid= ' . $this -> user[ ' uid ' ] . ' &password= ' . $this -> user[ ' password ' ] . " &time= " . $this -> time , ' ENCODE ' , $app [ ' authkey ' ])) . ' " reload="1"></script> ' ;
2 if ( $app [ ' synlogin ' ] && $app [ ' appid ' ] != $this -> app[ ' appid ' ]) {
3 $synstr .= ' <script type="text/javascript" src=" ' . $app [ ' url ' ] . ' /api/ uc.php ?time= ' . $this -> time . ' &code= ' . urlencode ( $this -> authcode( ' action=synlogin&username= ' . $this -> user[ ' username ' ] . ' &uid= ' . $this -> user[ ' uid ' ] . ' &password= ' . $this -> user[ ' password ' ] . " &time= " . $this -> time , ' ENCODE ' , $app [ ' authkey ' ])) . ' " reload="1"></script> ' ;
因此,此处为Bug应修正为
control/user.php onsynlogin函数
1 foreach($this->cache['apps'] as $appid => $app) {
2 $apifilename = isset($app['apifilename']) && $app['apifilename'] ? $app['apifilename'] : 'uc.php';
3 if($app['synlogin'] && $app['appid'] != $this->app['appid']) {
4 $synstr .= '<script type="text/javascript" src="'.$app['url'].'/api/'.$apifilename.'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&password='.$this->user['password']."&time=".$this->time, 'ENCODE', $app['authkey'])).'"></script>';
1 foreach($this->cache['apps'] as $appid => $app) {
2 $apifilename = isset($app['apifilename']) && $app['apifilename'] ? $app['apifilename'] : 'uc.php';
3 if($app['synlogin'] && $app['appid'] != $this->app['appid']) {
4 $synstr .= '<script type="text/javascript" src="'.$app['url'].'/api/'.$apifilename.'?time='.$this->time.'&code='.urlencode($this->authcode('action=synlogin&username='.$this->user['username'].'&uid='.$this->user['uid'].'&password='.$this->user['password']."&time=".$this->time, 'ENCODE', $app['authkey'])).'"></script>';
在其他整合函数中也存在类似问题.