public function __construct($cookie = null, $charset = 'utf-8') { $this->charset = $charset; $this->ch = curl_init(); $this->cookie_jar = Util_Tools::getSysTempDir() . '/cookie.txt'; @unlink($this->cookie_jar); }
/** * 发送手机验证码 * @param unknown $sMobile * @param unknown $iType */ public static function makeSMSCode($sMobile, $iType) { $sKey = self::getSmsKey($iType); $sRand = Util_Tools::passwdGen(4, Util_Tools::FLAG_NUMERIC); Util_Cookie::set($sKey, $sRand, 1800); $iTempID = Util_Common::getConf($iType, 'aSmsTempID'); return Sms_CCP::sendTemplateSMS($sMobile, array($sRand, 10), $iTempID); }
private function checkSrcs() { foreach ($this->srcs as $key => $src) { $tmp = tempnam(Util_Tools::sys_get_temp_dir(), 'img_'); if (Util_Tools::saveFile($src, $tmp)) { list($src_width, $src_height, $type) = @getimagesize($tmp); if ($src_width && $src_height && $type && in_array($type, array(IMAGETYPE_BMP, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF))) { $image = array('width' => $src_width, 'height' => $src_height, 'type' => $type, 'image' => $tmp); $this->src_infos[$key] = $image; } else { unset($this->srcs[$key]); } } else { unset($this->srcs[$key]); } } }
/** * 验证上传文件的类型是否为图片及大小是否越界 * * @param * $file * @param int $max_file_size * * @return bool string */ public static function validateUpload($file, $max_file_size = 0) { if ((int) $max_file_size > 0 && $file['size'] > (int) $max_file_size) { return sprintf(Util_Tools::displayError('Image is too large (%1$d kB). Maximum allowed: %2$d kB'), $file['size'] / 1024, $max_file_size / 1024); } if (!self::isRealImage($file['tmp_name'], $file['type']) || !self::isCorrectImageFileExt($file['name'])) { return 'Image format not recognized, allowed formats are: .gif, .jpg, .png'; } if ($file['error']) { return sprintf(Util_Tools::displayError('Error while uploading image; please change your server\'s settings. (Error code: %s)'), $file['error']); } return true; }
function download($remote_path, $file, $replace = true, $mode = 'auto') { if ($this->is_connected && !empty($remote_path)) { if ($mode == 'auto') { $mode = $this->_settype(Util_Tools::getFileExtension($remote_path)); } $mode = $mode == 'ascii' ? FTP_ASCII : FTP_BINARY; if (file_exists($file) && $replace) { unlink($file); } if (@ftp_get($this->conn, $file, $remote_path, $mode)) { return true; } else { if ($this->debug) { die(Util_Tools::displayError('FTP获取文件失败:' . $remote_path . ':' . $file)); } } } else { if ($this->debug) { die(Util_Tools::displayError('FTP未连接或目录为空:' . $remote_path)); } } return false; }
public static function isGenericName($name) { return preg_match(Util_Tools::cleanNonUnicodeSupport('/^[^<>;=+@#"°{}$%:]+$/u'), stripslashes($name)); }
/** * 提交效果 * * @return boolean */ public function effectAction() { $iAutoID = (int) $this->getParam('id'); $aAdMedia = Model_AdMedia::getDetail($iAutoID); if (empty($aAdMedia)) { return $this->show404(); } if ($aAdMedia['iStatus'] != Model_AdMedia::STATUS_SUBMIT_EFFECT) { return $this->show404(); } if ($this->isPost()) { $sEffectImg = $this->getParam('sEffectImg'); $aErr = array(); if (empty($sEffectImg)) { $aErr['sEffectImg'] = '请上传效果图'; } if (!empty($aErr)) { return $this->showMsg($aErr, false); } Model_AdMedia::updData(array('iAutoID' => $iAutoID, 'sEffectImg' => $sEffectImg, 'iStatus' => Model_AdMedia::STATUS_CONFIRM_EFFECT)); // 邮件通知 $sTitle = Model_Kv::getValue('media_runing_email_title'); $sContent = Model_Kv::getValue('media_runing_email_content'); // 短信通知 $iTempID = Util_Common::getConf(7, 'aSmsTempID'); $aUser = Model_User::getDetail($aAdMedia['iAUserID']); $aMedia = Model_Media::getDetail($aAdMedia['iMediaID']); Util_Tools::sendMail($aUser['sEmail'], $sTitle, $sContent, array($aMedia['sMediaName'])); Util_Sms::sendTemplateSms($aUser['sMobile'], array($aMedia['sMediaName']), $iTempID); return $this->showMsg('执行效果图提交成功', true); } else { $this->assign('aAdMedia', $aAdMedia); $this->setMeta('mcenter_page', array('sTitle' => '自媒体中心 - 提交效果图')); } }
/** * 添加自媒体 */ public function addAction() { if ($this->isPost()) { $aUser = $this->getCurrUser(Model_User::TYPE_MEDIA); if (empty($aUser)) { return $this->showMsg('请先登录!', false); } $iMediaID = (int) $this->getParam('iMediaID'); $aMedia = null; if ($iMediaID > 0) { $aMedia = Model_Media::getDetail($iMediaID); if ($aMedia['iUserID'] != $aUser['iUserID']) { return $this->showMsg('不要乱改别人的数据', false); } } $aData = array(); $aData['iUserID'] = $aUser['iUserID']; $aData['iMediaType'] = (int) $this->getParam('iMediaType'); $aData['sMediaName'] = $this->getParam('sMediaName'); $aData['sOpenName'] = $this->getParam('sOpenName'); $aData['iFollowerNum'] = (int) $this->getParam('iFollowerNum'); $aData['sFollowerImg'] = $this->getParam('sFollowerImg'); $aData['sAvatar'] = $this->getParam('sAvatar'); $aData['sQRCode'] = $this->getParam('sQRCode'); $aErr = array(); switch ($aData['iMediaType']) { case Model_Media::TYPE_WEIXIN: if ($aData['iFollowerNum'] == 0) { $aErr['iFollowerNum'] = '请输入丝粉数量'; } if (!Util_Validate::isLength($aData['sMediaName'], 2, 50)) { $aErr['sMediaName'] = '请输入微信名称'; } if (!preg_match('/[a-z][0-9a-z_\\-]{5,19}/i', $aData['sOpenName'])) { $aErr['sOpenName'] = '请输入正确的微信帐号'; } if (empty($aData['sFollowerImg'])) { $aErr['sFollowerImg'] = '请上传粉丝数截图'; } if (empty($aData['sAvatar'])) { $aErr['sAvatar'] = '请上传微信头像'; } if (empty($aData['sQRCode'])) { $aErr['sQRCode'] = '请上传二维码'; } $aOtherMedia = Model_Media::getMediaByOpenName($aData['iMediaType'], $aData['sOpenName'], $iMediaID); if (!empty($aOtherMedia)) { $aErr['sOpenName'] = '该自媒体已经存在!'; } break; case Model_Media::TYPE_FRIEND: if (empty($aData['sMediaName'])) { $aErr['sMediaName'] = '请输入账号名称'; } if ($aData['iFollowerNum'] == 0) { $aErr['iFollowerNum'] = '请输入好友数量'; } if (empty($aData['sFollowerImg'])) { $aErr['sFollowerImg'] = '请上传好友数截图'; } if (empty($aData['sAvatar'])) { $aErr['sAvatar'] = '请上传你微信头像'; } // 判断该自媒是否已经存在 $aOtherMedia = Model_Media::getMediaByName($aData['iMediaType'], $aData['sMediaName'], $iMediaID); if (!empty($aOtherMedia)) { $aErr['sMediaName'] = '该微信帐号已经存在!'; } break; case Model_Media::TYPE_WEIBO: if (empty($aData['sMediaName'])) { $aErr['sMediaName'] = '请输入账号名称'; } if ($aData['iFollowerNum'] == 0) { $aErr['iFollowerNum'] = '请输入好友数量'; } if (empty($aData['sFollowerImg'])) { $aErr['sFollowerImg'] = '请上传好友数截图'; } if (empty($aData['sAvatar'])) { $aErr['sAvatar'] = '请上传你微博头像'; } $aData['sUrl'] = $this->getParam('sUrl'); if (!Util_Validate::isAbsoluteUrl($aData['sUrl'])) { $aErr['sUrl'] = '请输入正确的微博地址'; } // 判断该自媒是否已经存在 $aOtherMedia = Model_Media::getMediaByName($aData['iMediaType'], $aData['sMediaName'], $iMediaID); if (!empty($aOtherMedia)) { $aErr['sMediaName'] = '该微博帐号已经存在!'; } break; } $aCatID = $this->getParam('aCatID'); $aCityID = $this->getParam('aCityID'); $aTagID = $this->getParam('aTagID'); // if (empty($aCatID)) { // $aErr['aCatID'] = '请选择媒体类别'; // } // if (! empty($aCatID) && count($aCatID) > 3) { // $aErr['aCatID'] = '最多选择3个媒体类别'; // } if (empty($aTagID)) { $aErr['aTagID'] = '请选择媒体标签'; } if (!empty($aTagID) && count($aTagID) > 6) { $aErr['aTagID'] = '最多选择6个媒体标签'; } if (empty($aCityID)) { $aErr['aCityID'] = '请选择城市/地区'; } if (!empty($aCityID) && count($aCityID) > 3) { $aErr['aCityID'] = '最多选择3个城市/地区'; } if (!empty($aErr)) { return $this->showMsg($aErr, false); } if (empty($aMedia)) { $aData['iStatus'] = 3; $aData['sVerifyCode'] = strtoupper(Util_Tools::passwdGen(32)); $iMediaID = Model_Media::addData($aData); } else { $aData['iStatus'] = 2; $aData['iMediaID'] = $aMedia['iMediaID']; Model_Media::updData($aData); } Model_User::updData(array('iUserID' => $this->aCurrUser['iUserID'], 'iFirst' => 'iFirst + 1')); if ($iMediaID > 0) { //Model_Media::updCategory($iMediaID, $aCatID); Model_Media::updCity($iMediaID, $aCityID); Model_Media::updTag($iMediaID, $aTagID); return $this->showMsg($iMediaID, true); } else { $aErr['sMediaName'] = '添加失败,请稍后再试'; return $this->showMsg($aErr, false); } } else { $aUser = $this->getCurrUser(Model_User::TYPE_MEDIA); if (empty($aUser)) { return $this->redirect('/user/login/type/' . Model_User::TYPE_MEDIA . '.html?ret=' . Util_Uri::getCurrUrl()); } $iMediaID = intval($this->getParam('id')); $aMedia = null; if ($iMediaID > 0) { $aMedia = Model_Media::getFullDetail($iMediaID); } if (empty($aMedia)) { $iType = intval($this->getParam('type', Model_Media::TYPE_WEIXIN)); } else { $iType = $aMedia['iMediaType']; } $aData = array(); switch ($iType) { case Model_Media::TYPE_WEIXIN: $aData['aCategory'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_WEIXIN_CATEGORY); $aData['aTag'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_WEIXIN_TAG); break; case Model_Media::TYPE_FRIEND: $aData['aCategory'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_FRIEND_CATEGORY); $aData['aTag'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_FRIEND_TAG); break; case Model_Media::TYPE_WEIBO: $aData['aCategory'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_WEIBO_CATEGORY); $aData['aTag'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_WEIBO_TAG); break; case Model_Media::TYPE_NEWS: $aData['aCategory'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_NEWS_CATEGORY); $aData['aTag'] = Model_Domain::getOption(Model_Domain::TYPE_MEDIA_NEWS_TAG); break; } $aData['aCity'] = Model_City::getPairCitys(Model_City::TYPE_FRONT); // array_unshift($aData['aCategory'], '不限'); // array_unshift($aData['aCity'], '不限'); // array_unshift($aData['aTag'], '不限'); $aType = Model_Media::$aType; unset($aType[Model_Media::TYPE_NEWS]); $this->assign('iType', $iType); $this->assign('aType', $aType); $this->assign('aData', $aData); $this->assign('aMedia', $aMedia); $this->assign('aUser', Model_User::getDetail($this->aCurrUser['iUserID'])); $this->assign('sTopMenu', 'madd'); $sRandCode = Util_Tools::passwdGen(8, Util_Tools::FLAG_ALPHANUMERIC); Util_Cookie::set('media_verify_code', $sRandCode); $this->assign('sRandCode', $sRandCode); $this->setMeta('media_add', array('sTitle' => '添加媒体')); } }