示例#1
0
 /**
  * 更新模块
  *
  * @access public
  * @param  $app_id:应用的id
  *
  * @return array
  */
 public function update()
 {
     $id = intval($this->input['id']);
     if ($id <= 0) {
         $this->errorOutput(NOID);
     }
     $data = $this->filter_data();
     //验证APP是否存在
     $queryData = array('id' => $data['app_id'], 'user_id' => $this->user['user_id'], 'del' => 0);
     $app_info = $this->api->detail('app_info', $queryData);
     if (!$app_info) {
         $this->errorOutput(APP_NOT_EXISTS);
     }
     $appModule_info = $this->api->detail('app_module', array('id' => $id, 'app_id' => $data['app_id']));
     if (!$appModule_info) {
         $this->errorOutput(MODULE_NOT_EXISTS);
     }
     $validate = array();
     if (isset($data['name']) && $appModule_info['name'] != $data['name']) {
         /*
         //是否重名
         $check = $this->api->verify(array('name' => $data['name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(NAME_EXISTS);
         */
         $validate['name'] = $data['name'];
         //编辑栏目
         $userInfo = $this->getSite();
         if (!$userInfo) {
             $this->errorOutput(NO_USER_ID);
         }
         $publish = new publishconfig();
         $column_data = array('fast_add_column' => 1, 'column_name' => $data['name'], 'site_id' => $userInfo['s_id'], 'column_id' => $appModule_info['column_id']);
         $column_id = $publish->edit_column($column_data);
         if (!$column_id) {
             $this->errorOutput(FAILED);
         }
     }
     if (isset($data['status'])) {
         $validate['status'] = $data['status'];
     }
     if (isset($data['english_name']) && $appModule_info['english_name'] != $data['english_name']) {
         /*
         //是否重名
         $check = $this->api->verify(array('english_name' => $data['english_name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(ENGLISH_EXISTS);
         */
         $validate['english_name'] = $data['english_name'];
     }
     if ($this->input['pic_url']) {
         $pic_url = trim(urldecode($this->input['pic_url']));
         if ($appModule_info['pic'] != $pic_url) {
             $validate['pic'] = $pic_url;
             $validate['press_pic'] = str_replace('/normal/', '/press/', $pic_url);
         }
     }
     if (isset($this->input['pic_id'])) {
         $pic_id = intval($this->input['pic_id']);
         //$pic_info = $this->material->get_material_by_ids($pic_id);
         $pic_info = $this->_upYunOp->getPicInfoById('', " AND id IN (" . $pic_id . ") AND user_id = '" . $this->user['user_id'] . "' ");
         if (!$pic_info || !isset($pic_info[0]) || !$pic_info[0]) {
             $pic_info = $this->material->get_material_by_ids($pic_id);
             if (!$pic_info || !isset($pic_info[0]) || !$pic_info[0]) {
                 $this->errorOutput(PIC_NOT_EXISTS);
             }
         }
         $pic_info = serialize($pic_info[0]);
         if ($appModule_info['pic'] != $pic_info) {
             $validate['pic'] = $pic_info;
         }
     }
     if (isset($this->input['press_id'])) {
         $press_id = intval($this->input['press_id']);
         //$press_pic = $this->material->get_material_by_ids($press_id);
         $press_pic = $this->_upYunOp->getPicInfoById('', " AND id IN (" . $press_id . ") AND user_id = '" . $this->user['user_id'] . "' ");
         if (!$press_pic || !isset($press_pic[0]) || !$press_pic[0]) {
             $press_pic = $this->material->get_material_by_ids($press_id);
             if (!$press_pic || !isset($press_pic[0]) || !$press_pic[0]) {
                 $this->errorOutput(PIC_NOT_EXISTS);
             }
         }
         $press_pic = serialize($press_pic[0]);
         if ($appModule_info['press_pic'] != $press_pic) {
             $validate['press_pic'] = $press_pic;
         }
     }
     if ($data['body_tpl_id'] && $appModule_info['body_tpl_id'] != $data['body_tpl_id']) {
         $validate['body_tpl_id'] = $data['body_tpl_id'];
     }
     if (isset($data['is_sub']) && $appModule_info['is_sub'] != $data['is_sub']) {
         $validate['is_sub'] = $data['is_sub'];
     }
     if (isset($data['normal_color']) && $appModule_info['normal_color'] != $data['normal_color']) {
         $validate['normal_color'] = $data['normal_color'];
     }
     if (isset($data['normal_alpha']) && $appModule_info['normal_alpha'] != $data['normal_alpha']) {
         $validate['normal_alpha'] = $data['normal_alpha'];
     }
     if (isset($data['press_color']) && $appModule_info['press_color'] != $data['press_color']) {
         $validate['press_color'] = $data['press_color'];
     }
     if (isset($data['press_alpha']) && $appModule_info['press_alpha'] != $data['press_alpha']) {
         $validate['press_alpha'] = $data['press_alpha'];
     }
     if ($data['webview_id'] > 0 || $data['webview_url']) {
         if ($data['webview_id'] > 0 && $appModule_info['web_view'] != $data['webview_id']) {
             $webview_info = $this->api->detail('app_webview', array('id' => $data['webview_id']));
             if (!$webview_info) {
                 $this->errorOutput(WEBVIEW_NOT_EXISTS);
             }
             $validate['web_view'] = $data['webview_id'];
             $validate['web_url'] = $webview_info['url'];
         } elseif ($data['webview_url'] && $appModule_info['web_url'] != $data['webview_url']) {
             //判断url
             //                 if (!filter_var($data['webview_url'], FILTER_VALIDATE_URL))
             //                 {
             //                     $this->errorOutput(URL_NOT_VALID);
             //                 }
             $validate['web_url'] = $data['webview_url'];
             $validate['web_view'] = -1;
         }
         $validate['ui_id'] = 0;
         $validate['solidify_id'] = 0;
     } elseif ($data['solidify_id'] > 0 && $appModule_info['solidify_id'] != $data['solidify_id']) {
         $_soli_info = $this->soli_mode->detail('solidify_module', array('id' => $data['solidify_id']));
         if (!$_soli_info) {
             $this->errorOutput(SOLID_NOT_EXISTS);
         }
         if ($_soli_info['mark'] == 'im') {
             //判断是否在黑名单
             $blackInfo = $this->_im->check_black($data['app_id']);
             if ($blackInfo['is_black']) {
                 $this->errorOutput(IM_IS_BLACK);
             }
             //获取融云的 production_app_key
             //如果固话模块是即时通信的,需要验证该应用有没有容云key
             $rcAppKey = $this->_im->get_rckey($data['app_id']);
             if (!$rcAppKey) {
                 $this->addItem('YOU_SHOULD_CREATE_TEAM');
                 $this->output();
                 //$this->errorOutput(YOU_SHOULD_CREATE_TEAM);
             }
         }
         //微社区
         if (strpos($_soli_info['mark'], 'seekhelp') !== FALSE) {
             //限制绑定一个微社区
             $cond = " AND app_id = '" . $data['app_id'] . "' AND user_id = '" . $this->user['user_id'] . "' ";
             $ModulesData = $this->api->getModulesData($cond);
             foreach ($ModulesData as $k => $v) {
                 $solidify_id_arr[$v['id']] = $v['solidify_id'];
             }
             foreach ($solidify_id_arr as $k => $v) {
                 $old_soli_info = $this->soli_mode->detail('solidify_module', array('id' => $v));
                 if (strpos($old_soli_info['mark'], 'seekhelp') !== FALSE && $k != $this->input['id']) {
                     $this->errorOutput(HAS_SEEKHELP);
                 }
             }
             //判断是否在黑名单
             $blackInfo = $this->seekhelp->check_black($data['app_id']);
             if ($blackInfo['is_black']) {
                 $this->errorOutput(SEEKHELP_IS_BLACK);
             }
             //判断老用户
             if (!$app_info['seekhelp_sort_id']) {
                 //判断新用户
                 $newSeekhelp = $this->seekhelpApi->community_operate(array('a' => 'getSortByappId', 'app_id' => $app_info['id']));
                 if (!$newSeekhelp) {
                     $this->errorOutput('YOU_SHOULD_CREATE_COMMUNITY_FIRST');
                 }
             }
         }
         $validate['solidify_id'] = $data['solidify_id'];
         $validate['web_view'] = 0;
         $validate['web_url'] = '';
         $validate['ui_id'] = 0;
     } elseif ($data['ui_id'] > 0 && $appModule_info['ui_id'] != $data['ui_id']) {
         $validate['ui_id'] = $data['ui_id'];
         $validate['web_view'] = 0;
         $validate['web_url'] = '';
         $validate['solidify_id'] = 0;
     }
     //后加的一些属性
     $validate['text_nor_bg'] = $data['text_nor_bg'];
     $validate['text_pre_bg'] = $data['text_pre_bg'];
     $validate['layout_pre_bg'] = $data['layout_pre_bg'];
     $validate['layout_pre_alpha'] = $data['layout_pre_alpha'];
     $validate['layout_nor_bg'] = $data['layout_nor_bg'];
     $validate['layout_nor_alpha'] = $data['layout_nor_alpha'];
     $validate['ui_bg'] = $data['ui_bg'];
     $validate['main_color'] = $data['main_color'];
     if ($data['navbar'] && is_array($data['navbar'])) {
         $validate['navbar'] = addslashes(serialize($data['navbar']));
         //导航栏设置
     }
     $validate['ui_padding_bottom'] = $data['ui_padding_bottom'];
     if ($validate) {
         $result = $this->api->update('app_module', $validate, array('id' => $id));
     } else {
         $result = true;
     }
     $this->addItem($result);
     $this->output();
 }
示例#2
0
 /**
  * 更新模块
  *
  * @access public
  * @param  $app_id:应用的id
  *
  * @return array
  */
 public function update()
 {
     $id = intval($this->input['id']);
     if ($id <= 0) {
         $this->errorOutput(NOID);
     }
     $data = $this->filter_data();
     //验证APP是否存在
     $queryData = array('id' => $data['app_id'], 'user_id' => $this->user['user_id'], 'del' => 0);
     $app_info = $this->api->detail('app_info', $queryData);
     if (!$app_info) {
         $this->errorOutput(APP_NOT_EXISTS);
     }
     $appModule_info = $this->api->detail('app_module', array('id' => $id, 'app_id' => $data['app_id']));
     if (!$appModule_info) {
         $this->errorOutput(MODULE_NOT_EXISTS);
     }
     $validate = array();
     if (isset($data['name']) && $appModule_info['name'] != $data['name']) {
         /*
         //是否重名
         $check = $this->api->verify(array('name' => $data['name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(NAME_EXISTS);
         */
         $validate['name'] = $data['name'];
         //编辑栏目
         $userInfo = $this->getSite();
         if (!$userInfo) {
             $this->errorOutput(NO_USER_ID);
         }
         $publish = new publishconfig();
         $column_data = array('fast_add_column' => 1, 'column_name' => $data['name'], 'site_id' => $userInfo['s_id'], 'column_id' => $appModule_info['column_id']);
         $column_id = $publish->edit_column($column_data);
         if (!$column_id) {
             $this->errorOutput(FAILED);
         }
     }
     if (isset($data['english_name']) && $appModule_info['english_name'] != $data['english_name']) {
         /*
         //是否重名
         $check = $this->api->verify(array('english_name' => $data['english_name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(ENGLISH_EXISTS);
         */
         $validate['english_name'] = $data['english_name'];
     }
     if ($this->input['pic_url']) {
         $pic_url = trim(urldecode($this->input['pic_url']));
         if ($appModule_info['pic'] != $pic_url) {
             $validate['pic'] = $pic_url;
             $validate['press_pic'] = str_replace('/normal/', '/press/', $pic_url);
         }
     }
     if (isset($this->input['pic_id'])) {
         $pic_id = intval($this->input['pic_id']);
         //$pic_info = $this->material->get_material_by_ids($pic_id);
         $pic_info = $this->_upYunOp->getPicInfoById($pic_id);
         if (!$pic_info || !isset($pic_info[0]) || !$pic_info[0]) {
             $pic_info = $this->material->get_material_by_ids($pic_id);
             if (!$pic_info || !isset($pic_info[0]) || !$pic_info[0]) {
                 $this->errorOutput(PIC_NOT_EXISTS);
             }
         }
         $pic_info = serialize($pic_info[0]);
         if ($appModule_info['pic'] != $pic_info) {
             $validate['pic'] = $pic_info;
         }
     }
     if (isset($this->input['press_id'])) {
         $press_id = intval($this->input['press_id']);
         //$press_pic = $this->material->get_material_by_ids($press_id);
         $press_pic = $this->_upYunOp->getPicInfoById($press_id);
         if (!$press_pic || !isset($press_pic[0]) || !$press_pic[0]) {
             $press_pic = $this->material->get_material_by_ids($press_id);
             if (!$press_pic || !isset($press_pic[0]) || !$press_pic[0]) {
                 $this->errorOutput(PIC_NOT_EXISTS);
             }
         }
         $press_pic = serialize($press_pic[0]);
         if ($appModule_info['press_pic'] != $press_pic) {
             $validate['press_pic'] = $press_pic;
         }
     }
     if ($data['body_tpl_id'] && $appModule_info['body_tpl_id'] != $data['body_tpl_id']) {
         $validate['body_tpl_id'] = $data['body_tpl_id'];
     }
     if (isset($data['is_sub']) && $appModule_info['is_sub'] != $data['is_sub']) {
         $validate['is_sub'] = $data['is_sub'];
     }
     if (isset($data['normal_color']) && $appModule_info['normal_color'] != $data['normal_color']) {
         $validate['normal_color'] = $data['normal_color'];
     }
     if (isset($data['normal_alpha']) && $appModule_info['normal_alpha'] != $data['normal_alpha']) {
         $validate['normal_alpha'] = $data['normal_alpha'];
     }
     if (isset($data['press_color']) && $appModule_info['press_color'] != $data['press_color']) {
         $validate['press_color'] = $data['press_color'];
     }
     if (isset($data['press_alpha']) && $appModule_info['press_alpha'] != $data['press_alpha']) {
         $validate['press_alpha'] = $data['press_alpha'];
     }
     if ($data['webview_id'] > 0 || $data['webview_url']) {
         if ($data['webview_id'] > 0 && $appModule_info['web_view'] != $data['webview_id']) {
             $webview_info = $this->api->detail('app_webview', array('id' => $data['webview_id']));
             if (!$webview_info) {
                 $this->errorOutput(WEBVIEW_NOT_EXISTS);
             }
             $validate['web_view'] = $data['webview_id'];
             $validate['web_url'] = $webview_info['url'];
         } elseif ($data['webview_url'] && $appModule_info['web_url'] != $data['webview_url']) {
             //判断url
             if (!filter_var($data['webview_url'], FILTER_VALIDATE_URL)) {
                 $this->errorOutput(URL_NOT_VALID);
             }
             $validate['web_url'] = $data['webview_url'];
             $validate['web_view'] = -1;
         }
         $validate['ui_id'] = 0;
         $validate['solidify_id'] = 0;
     } elseif ($data['solidify_id'] > 0 && $appModule_info['solidify_id'] != $data['solidify_id']) {
         $validate['solidify_id'] = $data['solidify_id'];
         $validate['web_view'] = 0;
         $validate['web_url'] = '';
         $validate['ui_id'] = 0;
     } elseif ($data['ui_id'] > 0 && $appModule_info['ui_id'] != $data['ui_id']) {
         $validate['ui_id'] = $data['ui_id'];
         $validate['web_view'] = 0;
         $validate['web_url'] = '';
         $validate['solidify_id'] = 0;
     }
     if ($validate) {
         $result = $this->api->update('app_module', $validate, array('id' => $id));
     } else {
         $result = true;
     }
     $this->addItem($result);
     $this->output();
 }
示例#3
0
 /**
  * 更新数据
  */
 public function update()
 {
     $id = intval($this->input['id']);
     if ($id <= 0) {
         $this->errorOutput(PARAM_WRONG);
     }
     $data = $this->filter_data();
     //验证APP是否存在
     $queryData = array('id' => $data['app_id'], 'user_id' => $this->user['user_id'], 'del' => 0);
     $app_info = $this->api->detail('app_info', $queryData);
     if (!$app_info) {
         $this->errorOutput(NO_APPID);
     }
     $appModule_info = $this->api->detail('app_module', array('id' => $id, 'app_id' => $data['app_id']));
     if (!$appModule_info) {
         $this->errorOutput(PARAM_WRONG);
     }
     $validate = array();
     if ($appModule_info['name'] != $data['name']) {
         /*
         //是否重名
         $check = $this->api->verify(array('name' => $data['name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(NAME_EXISTS);
         */
         $validate['name'] = $data['name'];
         //编辑栏目
         $userInfo = $this->getSite();
         if (!$userInfo) {
             $this->errorOutput(NO_USER_ID);
         }
         $publish = new publishconfig();
         $column_data = array('fast_add_column' => 1, 'column_name' => $data['name'], 'site_id' => $userInfo['s_id'], 'column_id' => $appModule_info['column_id']);
         $column_id = $publish->edit_column($column_data);
         if (!$column_id) {
             $this->errorOutput(FAILED);
         }
     }
     if ($data['english_name'] && $appModule_info['english_name'] != $data['english_name']) {
         /*
         		    //是否重名
         $check = $this->api->verify(array('english_name' => $data['english_name'], 'app_id' => $data['app_id']));
         if ($check > 0) $this->errorOutput(ENGLISH_EXISTS);
         */
         $validate['english_name'] = $data['english_name'];
     }
     if (isset($this->input['pic_id'])) {
         $pic_id = intval($this->input['pic_id']);
         $pic_info = $this->material->get_material_by_ids($pic_id);
         if (!$pic_info[0]) {
             $this->errorOutput(PARAM_WRONG);
         }
         $pic_info = serialize($pic_info[0]);
         if ($appModule_info['pic'] != $pic_info) {
             $validate['pic'] = $pic_info;
         }
     }
     if ($appModule_info['sign'] != $data['sign']) {
         $validate['sign'] = $data['sign'];
     }
     if ($appModule_info['is_sub'] != $data['is_sub']) {
         $validate['is_sub'] = $data['is_sub'];
     }
     if ($appModule_info['icon_bg'] != $data['icon_bg']) {
         if ($data['icon_bg'] && checkColor($data['icon_bg']) === false) {
             $this->errorOutput(COLOR_ERROR);
         }
         $validate['icon_bg'] = $data['icon_bg'];
     }
     if ($data['webview_id'] > 0 || $data['webview_url']) {
         if ($data['webview_id'] > 0 && $appModule_info['web_view'] != $data['webview_id']) {
             $webview_info = $this->api->detail('app_webview', array('id' => $data['webview_id']));
             if (!$webview_info) {
                 $this->errorOutput(PARAM_WRONG);
             }
             $validate['web_view'] = $data['webview_id'];
             $validate['web_url'] = $webview_info['url'];
         } elseif ($data['webview_url'] && $appModule_info['web_url'] != $data['webview_url']) {
             //判断url
             if (!filter_var($data['webview_url'], FILTER_VALIDATE_URL)) {
                 $this->errorOutput(URL_NOT_VALID);
             }
             $validate['web_url'] = $data['webview_url'];
             $validate['web_view'] = -1;
         }
         $validate['ui_id'] = 0;
     } else {
         if ($data['ui_id'] > 0 && $appModule_info['ui_id'] != $data['ui_id']) {
             $validate['ui_id'] = $data['ui_id'];
         }
         $validate['web_view'] = 0;
         $validate['web_url'] = '';
     }
     if ($validate) {
         $result = $this->api->update('app_module', $validate, array('id' => $id));
     } else {
         $result = true;
     }
     $this->addItem($result);
     $this->output();
 }