PageRenderTime 52ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/aoliz/core/include/core/goods.import_goodsline.php

http://phpfor.googlecode.com/
PHP | 115 lines | 109 code | 4 blank | 2 comment | 21 complexity | 0d31900ccba1f5afdf311d7a64344187 MD5 | raw file
  1. <?php
  2. function goods_import_goodsline(&$aData , &$object){
  3. $aData['intro'] = str_replace('\n',"\n",$aData['intro']);
  4. $aData['intro'] = addslashes($aData['intro']);
  5. $aData['brief'] = str_replace('\n',"\n",$aData['brief']);
  6. $aData['brief'] = addslashes($aData['brief']);
  7. $aData['name'] = addslashes($aData['name']);
  8. $aData['last_modify'] = time();
  9. $aData['cost'] += 0;
  10. if($aData['goods_id']){ //????
  11. $rs = $object->db->query('SELECT * FROM sdb_goods WHERE goods_id='.intval($aData['goods_id']));
  12. $sql = $object->db->GetUpdateSQL($rs, $aData);
  13. if($sql && !$object->db->exec($sql)){
  14. trigger_error('SQL Error:'.$sql,E_USER_NOTICE);
  15. return false;
  16. }
  17. }else{ //???? review: ??????GetUpdateSQL($rs, $aData?true)
  18. $aData['cat_id'] = intval($aData['cat_id']);
  19. if(!$aData['price'])$aData['price'] = 0;
  20. $aData['uptime'] = time();
  21. unset($aData['goods_id']);
  22. $rs = $object->db->query('SELECT * FROM sdb_goods WHERE 0=1');
  23. $sql = $object->db->GetInsertSQL($rs, $aData);
  24. if($sql && !$object->db->exec($sql)){
  25. trigger_error('SQL Error:'.$sql,E_USER_NOTICE);
  26. return false;
  27. }
  28. $aData['goods_id'] = $object->db->lastInsertId();
  29. $aData['p_order'] = 50;
  30. $rs = $object->db->query('SELECT * FROM sdb_goods WHERE goods_id='.$aData['goods_id']);
  31. $sql = $object->db->GetUpdateSQL($rs, $aData);
  32. if($sql && !$object->db->exec($sql)){
  33. trigger_error('SQL Error:'.$sql,E_USER_NOTICE);
  34. return false;
  35. }
  36. $status = $object->system->loadModel('system/status');
  37. $status->add('GOODS_ADD');
  38. }
  39. //????
  40. if($aData['image_file'] || $aData['thumbnail_pic']){
  41. $image_change = false;
  42. if($aData['image_file']){
  43. $images = explode('#',$aData['image_file']);
  44. $images = array_unique($images);
  45. }else{
  46. $images = array();
  47. $aData['image_default'] = 0;
  48. }
  49. $image_file = array();
  50. $gimage = $object->system->loadModel('goods/gimage');
  51. if(is_array($images)&&count($images)>0){
  52. $storager = $object->system->loadModel('system/storager');
  53. $aData['udfimg'] = in_array($aData['thumbnail_pic'], $images)?'false':'true'; //?????????????????
  54. $i = 0;
  55. foreach($images as $k=>$image){
  56. if(!$image){
  57. continue;
  58. }
  59. //????@????????????
  60. $gimage_id = null;
  61. if(strpos($image,'@')!==false){
  62. $aTmp = explode('@', $image);
  63. $gimage_id = $aTmp[0];
  64. if(!$gimage_id){
  65. $gimage_id = $gimage->get_img_by_source($image, 'gimage_id');
  66. }
  67. }elseif(preg_match('!^http(s|)://!i',$image)){ //review: ????url
  68. $gimage_id = $gimage->insert_new(array(
  69. 'is_remote'=>'true',
  70. 'source'=>'N',
  71. 'src_size_width'=>100,
  72. 'src_size_height'=>100,
  73. 'big'=>$image,
  74. 'small'=>$image,
  75. 'thumbnail'=>$image,
  76. 'up_time'=>time()
  77. ),$aData['goods_id']);
  78. }elseif(file_exists(HOME_DIR.'/upload/'.$image)){
  79. $pic['tmp_name'] = HOME_DIR.'/upload/'.$image;
  80. $pic['goods_id'] = $aData['goods_id'];
  81. $aImg = $gimage->save_upload($pic);
  82. $gimage_id = $aImg['gimage_id'];
  83. }
  84. $image_file[] = $gimage_id;
  85. if($i == 0){ //?????????
  86. $aData['image_default'] = $gimage_id;
  87. $i++;
  88. }
  89. }
  90. }
  91. if(!preg_match('!^http(s|)://!i',$aData['thumbnail_pic']) &&
  92. file_exists(HOME_DIR.'/upload/'.$aData['thumbnail_pic'])){
  93. $thumbnail_pic['goods_thumbnail_pic']['name'] = HOME_DIR.'/upload/'.$aData['thumbnail_pic'];
  94. $thumbnail_pic['goods_thumbnail_pic']['img_source'] = 'local';
  95. $image_change = true;
  96. }else{
  97. if(count($images) == 0 &&
  98. preg_match('!^http(s|)://!i',$aData['thumbnail_pic'])){
  99. $aData['udfimg'] = 'true';
  100. }
  101. if(preg_match('!^http(s|)://!i',$aData['thumbnail_pic'])){
  102. $thumbnail_pic = $aData['thumbnail_pic'];
  103. }else{
  104. $thumbnail_pic = array();
  105. }
  106. }
  107. $gimage->saveImage($aData['goods_id'], '', $aData['image_default'], $image_file, $aData['udfimg'], $thumbnail_pic);
  108. }
  109. return $aData['goods_id'];
  110. }
  111. ?>