├── adm
├── c
│ ├── Admin.php
│ ├── Base.php
│ ├── Build.php
│ ├── Cache.php
│ ├── Index.php
│ ├── Manger.php
│ ├── Map.php
│ ├── Server.php
│ ├── System.php
│ ├── User.php
│ └── War.php
├── lib
│ ├── PHPExcel.php
│ └── PHPExcel
│ │ ├── Autoloader.php
│ │ ├── CachedObjectStorage
│ │ ├── APC.php
│ │ ├── CacheBase.php
│ │ ├── DiscISAM.php
│ │ ├── ICache.php
│ │ ├── Igbinary.php
│ │ ├── Memcache.php
│ │ ├── Memory.php
│ │ ├── MemoryGZip.php
│ │ ├── MemorySerialized.php
│ │ ├── PHPTemp.php
│ │ ├── SQLite.php
│ │ ├── SQLite3.php
│ │ └── Wincache.php
│ │ ├── CachedObjectStorageFactory.php
│ │ ├── Calculation.php
│ │ ├── Calculation
│ │ ├── Database.php
│ │ ├── DateTime.php
│ │ ├── Engineering.php
│ │ ├── Exception.php
│ │ ├── ExceptionHandler.php
│ │ ├── Financial.php
│ │ ├── FormulaParser.php
│ │ ├── FormulaToken.php
│ │ ├── Function.php
│ │ ├── Functions.php
│ │ ├── Logical.php
│ │ ├── LookupRef.php
│ │ ├── MathTrig.php
│ │ ├── Statistical.php
│ │ ├── TextData.php
│ │ └── functionlist.txt
│ │ ├── Cell.php
│ │ ├── Cell
│ │ ├── AdvancedValueBinder.php
│ │ ├── DataType.php
│ │ ├── DataValidation.php
│ │ ├── DefaultValueBinder.php
│ │ ├── Hyperlink.php
│ │ └── IValueBinder.php
│ │ ├── Chart.php
│ │ ├── Chart
│ │ ├── DataSeries.php
│ │ ├── DataSeriesValues.php
│ │ ├── Layout.php
│ │ ├── Legend.php
│ │ ├── PlotArea.php
│ │ ├── Renderer
│ │ │ ├── PHP Charting Libraries.txt
│ │ │ └── jpgraph.php
│ │ └── Title.php
│ │ ├── Comment.php
│ │ ├── DocumentProperties.php
│ │ ├── DocumentSecurity.php
│ │ ├── HashTable.php
│ │ ├── IComparable.php
│ │ ├── IOFactory.php
│ │ ├── NamedRange.php
│ │ ├── Reader
│ │ ├── CSV.php
│ │ ├── DefaultReadFilter.php
│ │ ├── Excel2003XML.php
│ │ ├── Excel2007.php
│ │ ├── Excel2007
│ │ │ ├── Chart.php
│ │ │ └── Theme.php
│ │ ├── Excel5.php
│ │ ├── Excel5
│ │ │ └── Escher.php
│ │ ├── Gnumeric.php
│ │ ├── IReadFilter.php
│ │ ├── IReader.php
│ │ ├── OOCalc.php
│ │ └── SYLK.php
│ │ ├── ReferenceHelper.php
│ │ ├── RichText.php
│ │ ├── RichText
│ │ ├── ITextElement.php
│ │ ├── Run.php
│ │ └── TextElement.php
│ │ ├── Settings.php
│ │ ├── Shared
│ │ ├── CodePage.php
│ │ ├── Date.php
│ │ ├── Drawing.php
│ │ ├── Escher.php
│ │ ├── Escher
│ │ │ ├── DgContainer.php
│ │ │ ├── DgContainer
│ │ │ │ ├── SpgrContainer.php
│ │ │ │ └── SpgrContainer
│ │ │ │ │ └── SpContainer.php
│ │ │ ├── DggContainer.php
│ │ │ └── DggContainer
│ │ │ │ ├── BstoreContainer.php
│ │ │ │ └── BstoreContainer
│ │ │ │ ├── BSE.php
│ │ │ │ └── BSE
│ │ │ │ └── Blip.php
│ │ ├── Excel5.php
│ │ ├── File.php
│ │ ├── Font.php
│ │ ├── OLE.php
│ │ ├── OLE
│ │ │ ├── ChainedBlockStream.php
│ │ │ ├── PPS.php
│ │ │ └── PPS
│ │ │ │ ├── File.php
│ │ │ │ └── Root.php
│ │ ├── OLERead.php
│ │ ├── PCLZip
│ │ │ ├── gnu-lgpl.txt
│ │ │ ├── pclzip.lib.php
│ │ │ └── readme.txt
│ │ ├── PasswordHasher.php
│ │ ├── String.php
│ │ ├── XMLWriter.php
│ │ ├── ZipArchive.php
│ │ ├── ZipStreamWrapper.php
│ │ └── trend
│ │ │ ├── bestFitClass.php
│ │ │ ├── exponentialBestFitClass.php
│ │ │ ├── linearBestFitClass.php
│ │ │ ├── logarithmicBestFitClass.php
│ │ │ ├── polynomialBestFitClass.php
│ │ │ ├── powerBestFitClass.php
│ │ │ └── trendClass.php
│ │ ├── Style.php
│ │ ├── Style
│ │ ├── Alignment.php
│ │ ├── Border.php
│ │ ├── Borders.php
│ │ ├── Color.php
│ │ ├── Conditional.php
│ │ ├── Fill.php
│ │ ├── Font.php
│ │ ├── NumberFormat.php
│ │ └── Protection.php
│ │ ├── Worksheet.php
│ │ ├── Worksheet
│ │ ├── BaseDrawing.php
│ │ ├── CellIterator.php
│ │ ├── ColumnDimension.php
│ │ ├── Drawing.php
│ │ ├── Drawing
│ │ │ └── Shadow.php
│ │ ├── HeaderFooter.php
│ │ ├── HeaderFooterDrawing.php
│ │ ├── MemoryDrawing.php
│ │ ├── PageMargins.php
│ │ ├── PageSetup.php
│ │ ├── Protection.php
│ │ ├── Row.php
│ │ ├── RowDimension.php
│ │ ├── RowIterator.php
│ │ └── SheetView.php
│ │ ├── WorksheetIterator.php
│ │ ├── Writer
│ │ ├── CSV.php
│ │ ├── Excel2007.php
│ │ ├── Excel2007
│ │ │ ├── Chart.php
│ │ │ ├── Comments.php
│ │ │ ├── ContentTypes.php
│ │ │ ├── DocProps.php
│ │ │ ├── Drawing.php
│ │ │ ├── Rels.php
│ │ │ ├── StringTable.php
│ │ │ ├── Style.php
│ │ │ ├── Theme.php
│ │ │ ├── Workbook.php
│ │ │ ├── Worksheet.php
│ │ │ └── WriterPart.php
│ │ ├── Excel5.php
│ │ ├── Excel5
│ │ │ ├── BIFFwriter.php
│ │ │ ├── Escher.php
│ │ │ ├── Font.php
│ │ │ ├── Parser.php
│ │ │ ├── Workbook.php
│ │ │ ├── Worksheet.php
│ │ │ └── Xf.php
│ │ └── IWriter.php
│ │ └── locale
│ │ └── en
│ │ └── uk
│ │ └── config
└── v
│ ├── Base
│ ├── ArmyAdd.php
│ ├── ArmyList.php
│ ├── AwardImport.php
│ ├── AwardList.php
│ ├── AwardView.php
│ ├── BoutImport.php
│ ├── BoutList.php
│ ├── BuildBaseAdd.php
│ ├── BuildBaseList.php
│ ├── BuildUpgAdd.php
│ ├── BuildUpgList.php
│ ├── CampaignImport.php
│ ├── CampaignList.php
│ ├── ConsumerList.php
│ ├── EquipImport.php
│ ├── EquipList.php
│ ├── EquipSuit.php
│ ├── EquipSuitAddTpl.php
│ ├── EquipSuitImport.php
│ ├── EquipView.php
│ ├── ExchangeImport.php
│ ├── ExchangeList.php
│ ├── HeroAddTpl.php
│ ├── HeroList.php
│ ├── HeroTplImport.php
│ ├── MallImport.php
│ ├── MallList.php
│ ├── MultiFBImport.php
│ ├── MultiFBList.php
│ ├── ProbeImport.php
│ ├── ProbeList.php
│ ├── ProbeView.php
│ ├── PropsAdd.php
│ ├── PropsImport.php
│ ├── PropsList.php
│ ├── QqShareImport.php
│ ├── QqShareList.php
│ ├── QuestImport.php
│ ├── QuestList.php
│ ├── QuestionImport.php
│ ├── SkillImport.php
│ ├── SkillList.php
│ ├── SkillView.php
│ ├── TaskAdd.php
│ ├── TaskList.php
│ ├── TechBaseAdd.php
│ ├── TechBaseList.php
│ ├── TechUpgAdd.php
│ ├── TechUpgList.php
│ ├── UnionList.php
│ ├── WeaponAdd.php
│ ├── WeaponImport.php
│ └── WeaponList.php
│ ├── Cache
│ ├── File.php
│ ├── Index.php
│ ├── Info.php
│ ├── InfoList.php
│ ├── List.php
│ └── Tip.php
│ ├── DataAccess.php
│ ├── DataCom.php
│ ├── DataMenu.php
│ ├── Index
│ └── Login.php
│ ├── Manger
│ ├── AdmView.php
│ ├── DebugIp.php
│ ├── DelPayRow.php
│ ├── GMUser.php
│ ├── GroupView.php
│ ├── List.php
│ ├── RestoreMerge.php
│ └── UserGroup.php
│ ├── Map
│ ├── BuildEditor.php
│ ├── CellList.php
│ ├── CellView.php
│ ├── CityInMapEdiotr.php
│ ├── SecneList.php
│ ├── SecneView.php
│ ├── WarMapEditor.php
│ └── WarMapImport.php
│ ├── Server
│ ├── Apc.php
│ ├── Cron.php
│ ├── Deamon.php
│ ├── Index.php
│ ├── Mysql.php
│ ├── Php.php
│ ├── ReqNum.php
│ ├── Sys.php
│ └── UploadCode.php
│ ├── System
│ ├── Config_Active.php
│ ├── Config_Army.php
│ ├── Config_Base.php
│ ├── Config_Build.php
│ ├── Config_Drama.php
│ ├── Config_Equip.php
│ ├── Config_Event.php
│ ├── Config_Fascist.php
│ ├── Config_FascistAdd.php
│ ├── Config_Floor.php
│ ├── Config_Hero.php
│ ├── Config_Horse.php
│ ├── Config_InviteFriend.php
│ ├── Config_Liveness.php
│ ├── Config_Lottery.php
│ ├── Config_Online.php
│ ├── Config_Pay.php
│ ├── Config_PayAward.php
│ ├── Config_ProbeMap.php
│ ├── Config_QQ.php
│ ├── Config_Question.php
│ ├── Config_Server.php
│ ├── Config_TmpNpc.php
│ ├── Config_Union.php
│ ├── Config_VipNew.php
│ ├── Config_Weapon.php
│ ├── NoticeAdd.php
│ └── NoticeList.php
│ ├── User
│ ├── Add.php
│ └── List.php
│ ├── War
│ ├── FbCateList.php
│ ├── FbCateView.php
│ ├── FbList.php
│ ├── FbMapView.php
│ ├── FbView.php
│ ├── NpcHeroList.php
│ ├── NpcHeroView.php
│ ├── NpcImport.php
│ ├── NpcList.php
│ ├── NpcView.php
│ ├── ProbeMap.php
│ └── WarFbImport.php
│ ├── footer.php
│ ├── header.php
│ ├── index.php
│ ├── layout.php
│ └── nav.php
├── etc
├── cn
│ ├── blocklist.txt
│ ├── heroname_1_1.txt
│ ├── heroname_1_2.txt
│ ├── heroname_2_1.txt
│ ├── heroname_2_2.txt
│ ├── randname_1.txt
│ └── randname_2.txt
└── config.php
├── inc.php
├── lib
├── Amfphp
│ ├── amf
│ │ ├── app
│ │ │ ├── Actions.php
│ │ │ ├── Filters.php
│ │ │ └── Gateway.php
│ │ ├── io
│ │ │ ├── AMFBaseDeserializer.php
│ │ │ ├── AMFBaseSerializer.php
│ │ │ ├── AMFDeserializer.php
│ │ │ └── AMFSerializer.php
│ │ ├── readme.txt
│ │ └── util
│ │ │ ├── AMFObject.php
│ │ │ ├── DateWrapper.php
│ │ │ ├── DescribeService.php
│ │ │ ├── PageAbleResult.php
│ │ │ ├── TraceHeader.php
│ │ │ └── WrapperClasses.php
│ └── shared
│ │ ├── app
│ │ ├── BasicActions.php
│ │ ├── BasicGateway.php
│ │ ├── Constants.php
│ │ ├── Globals.php
│ │ └── php5Executive.php
│ │ ├── exception
│ │ ├── MessageException.php
│ │ └── php5Exception.php
│ │ └── util
│ │ ├── Authenticate.php
│ │ ├── CharsetHandler.php
│ │ ├── CompatPhp5.php
│ │ ├── Headers.php
│ │ ├── MessageBody.php
│ │ ├── MessageHeader.php
│ │ ├── MethodTable.php
│ │ ├── NetDebug.php
│ │ └── functions.php
├── OpenApiV3.php
└── openqq
│ ├── SnsNetwork.php
│ └── SnsSigCheck.php
├── log
└── readme.txt
├── run
└── s1
│ ├── common.php
│ ├── cron
│ ├── CronPerMin.php
│ ├── crontab_root
│ ├── crontab_www
│ ├── dbbakup.php
│ ├── nginx_cut_log.sh
│ └── readme.txt
│ ├── deamon
│ ├── DeamonBattleHandler.php
│ ├── DeamonCityVisitQueue.php
│ ├── DeamonMarchHandler.php
│ ├── run.php
│ └── test.php
│ ├── init
│ ├── InitWildNpc.php
│ └── ResetWildMap.php
│ ├── merge
│ ├── move_export_data.php
│ └── move_verify_data.php
│ ├── reset
│ └── ResetGameData.php
│ └── test
│ ├── phar.php
│ └── vvTest.php
├── srv
├── A
│ ├── GM
│ │ ├── Action.php
│ │ └── User.php
│ ├── Rmon
│ │ ├── Cache.php
│ │ └── Server.php
│ ├── Server
│ │ ├── Base.php
│ │ └── Consumer.php
│ └── Stats
│ │ ├── ActiveUser.php
│ │ ├── Assistance.php
│ │ ├── Card.php
│ │ ├── DayActiveUser.php
│ │ ├── GetNickname.php
│ │ ├── HistoryHigh.php
│ │ ├── Info.php
│ │ ├── Log.php
│ │ ├── OutflowUser.php
│ │ ├── Pay.php
│ │ ├── RankingRecord.php
│ │ ├── RetentionList.php
│ │ ├── Retentionrate.php
│ │ ├── SendGoodsAll.php
│ │ └── User.php
├── B
│ ├── Cache
│ │ ├── APC.php
│ │ ├── File.php
│ │ └── RC.php
│ ├── Common.php
│ ├── Controller.php
│ ├── Crypt.php
│ ├── DB.php
│ ├── DB
│ │ └── Dao.php
│ ├── DBStats.php
│ ├── Exception.php
│ ├── Log
│ │ ├── Queue.php
│ │ └── Trade.php
│ ├── Logger.php
│ ├── Page.php
│ ├── Request.php
│ ├── Utils.php
│ ├── View.php
│ └── Xml.php
├── C
│ ├── Army.php
│ ├── Auction.php
│ ├── Base.php
│ ├── Battle.php
│ ├── Breakout.php
│ ├── Buddy.php
│ ├── Build.php
│ ├── Camp.php
│ ├── Challenge.php
│ ├── Chat.php
│ ├── City.php
│ ├── Collect.php
│ ├── College.php
│ ├── Colony.php
│ ├── Compensate.php
│ ├── Equip.php
│ ├── Fb.php
│ ├── FbTeam.php
│ ├── Floor.php
│ ├── Friend.php
│ ├── Hero.php
│ ├── Horse.php
│ ├── I.php
│ ├── Index.php
│ ├── Lottery.php
│ ├── Mall.php
│ ├── MallExchange.php
│ ├── Map.php
│ ├── March.php
│ ├── Market.php
│ ├── Message.php
│ ├── MultiFB.php
│ ├── Props.php
│ ├── Qq.php
│ ├── Quest.php
│ ├── Question.php
│ ├── Rank.php
│ ├── Report.php
│ ├── SeekHero.php
│ ├── Skill.php
│ ├── Sync.php
│ ├── Task.php
│ ├── Tech.php
│ ├── Test.php
│ ├── Union.php
│ ├── User.php
│ ├── Vip.php
│ ├── War.php
│ └── Weapon.php
├── M
│ ├── Adm.php
│ ├── AntiAddiction.php
│ ├── Army.php
│ ├── Auction.php
│ ├── Auth.php
│ ├── Award.php
│ ├── Base.php
│ ├── Battle
│ │ ├── AI.php
│ │ ├── Calc.php
│ │ ├── Handler.php
│ │ ├── Info.php
│ │ ├── List.php
│ │ ├── Path.php
│ │ ├── QueueAI.php
│ │ ├── QueueHandler.php
│ │ └── Quick.php
│ ├── BreakOut.php
│ ├── Buddy.php
│ ├── Build.php
│ ├── CacheToDB.php
│ ├── Campaign.php
│ ├── Card.php
│ ├── Chat.php
│ ├── City.php
│ ├── CityCollege.php
│ ├── Client.php
│ ├── ColonyCity.php
│ ├── Compensate.php
│ ├── Config.php
│ ├── Consumer.php
│ ├── Cron.php
│ ├── Deamon.php
│ ├── Effect.php
│ ├── Email.php
│ ├── Equip.php
│ ├── Exchange.php
│ ├── Extra.php
│ ├── Formula.php
│ ├── Hero.php
│ ├── Horse.php
│ ├── Icon.php
│ ├── Item.php
│ ├── Liveness.php
│ ├── Lottery.php
│ ├── Mall.php
│ ├── MapBattle.php
│ ├── MapCity.php
│ ├── MapWild.php
│ ├── March.php
│ ├── March
│ │ ├── Action.php
│ │ ├── Hold.php
│ │ ├── Info.php
│ │ ├── List.php
│ │ ├── Queue.php
│ │ └── Wait.php
│ ├── Merge.php
│ ├── Message.php
│ ├── MultiFB.php
│ ├── NPC.php
│ ├── Pay.php
│ ├── Probe.php
│ ├── Props.php
│ ├── Qq.php
│ ├── QqShare.php
│ ├── RandName.php
│ ├── Ranking.php
│ ├── Rmon.php
│ ├── Skill.php
│ ├── SoloFB.php
│ ├── Stats.php
│ ├── Sync.php
│ ├── Task.php
│ ├── Task
│ │ └── QqShare.php
│ ├── Tech.php
│ ├── Union.php
│ ├── User.php
│ ├── Vip.php
│ ├── War.php
│ ├── WarReport.php
│ └── Weapon.php
├── O
│ ├── Answer.php
│ ├── Army.php
│ ├── Build.php
│ ├── CD.php
│ ├── City.php
│ ├── ColonyNpc.php
│ ├── Equip.php
│ ├── FindHero.php
│ ├── Floor.php
│ ├── Hero.php
│ ├── I.php
│ ├── Liveness.php
│ ├── Log.php
│ ├── Pack.php
│ ├── Player.php
│ ├── Props.php
│ ├── Quest.php
│ ├── Res.php
│ ├── SeekHero.php
│ ├── Team.php
│ ├── Tech.php
│ ├── Vip.php
│ └── Weapon.php
├── Q
│ ├── AdmConsumer.php
│ ├── AdmUser.php
│ ├── Alliance.php
│ ├── AllianceMember.php
│ ├── Auction.php
│ ├── AuctionOl.php
│ ├── BaseArmy.php
│ ├── BaseAward.php
│ ├── BaseBreakout.php
│ ├── BaseBuild.php
│ ├── BaseBuildAttr.php
│ ├── BaseCampaign.php
│ ├── BaseConfig.php
│ ├── BaseEquipSuit.php
│ ├── BaseEquipTpl.php
│ ├── BaseExchange.php
│ ├── BaseHeroTpl.php
│ ├── BaseMall.php
│ ├── BaseMultiFB.php
│ ├── BaseNpcHero.php
│ ├── BaseNpcTroop.php
│ ├── BaseProbe.php
│ ├── BaseProps.php
│ ├── BaseQqShare.php
│ ├── BaseQuest.php
│ ├── BaseQuestion.php
│ ├── BaseSkill.php
│ ├── BaseTask.php
│ ├── BaseTech.php
│ ├── BaseTechAttr.php
│ ├── BaseWarFB.php
│ ├── BaseWarFbChapter.php
│ ├── BaseWarMapCell.php
│ ├── BaseWarMapData.php
│ ├── BaseWeapon.php
│ ├── Campaign.php
│ ├── City.php
│ ├── CityBreakout.php
│ ├── CityCard.php
│ ├── CityCollege.php
│ ├── CityColony.php
│ ├── CityEquip.php
│ ├── CityExtra.php
│ ├── CityHero.php
│ ├── CityHorse.php
│ ├── CityItem.php
│ ├── CityLottery.php
│ ├── CityMultiFB.php
│ ├── CityQqShare.php
│ ├── CityTask.php
│ ├── FbPass.php
│ ├── Horse.php
│ ├── LogCoin.php
│ ├── LogOp.php
│ ├── Map.php
│ ├── Message.php
│ ├── ServerCompensate.php
│ ├── ServerConfig.php
│ ├── ServerNews.php
│ ├── ServerNotice.php
│ ├── StatsLogCityBuild.php
│ ├── StatsLogExpense.php
│ ├── StatsLogIncome.php
│ ├── StatsLogPay.php
│ ├── TeamMultiFb.php
│ ├── User.php
│ ├── WarMarch.php
│ ├── WarReport.php
│ └── WildMap.php
├── T
│ ├── App.php
│ ├── Battle.php
│ ├── Build.php
│ ├── Chat.php
│ ├── DBField.php
│ ├── Effect.php
│ ├── Equip.php
│ ├── ErrNo.php
│ ├── Hero.php
│ ├── Key.php
│ ├── Lang.php
│ ├── Map.php
│ ├── Props.php
│ ├── Weapon.php
│ └── Word.php
└── v
│ ├── index.php
│ ├── layout.php
│ └── report.php
└── www
├── adm.php
├── api.php
├── call.php
├── common.php
├── crossdomain.xml
├── login.php
├── qq
├── QqLive.php
├── QqShare.php
├── confirmpay.php
├── pay.php
└── py_openapi.js
├── styles
├── adm
│ ├── css
│ │ ├── base.css
│ │ ├── images
│ │ │ ├── buttons.gif
│ │ │ └── toolbar.gif
│ │ ├── jquery.cleditor.css
│ │ └── start
│ │ │ ├── images
│ │ │ ├── ui-bg_flat_55_999999_40x100.png
│ │ │ ├── ui-bg_flat_75_aaaaaa_40x100.png
│ │ │ ├── ui-bg_glass_45_0078ae_1x400.png
│ │ │ ├── ui-bg_glass_55_f8da4e_1x400.png
│ │ │ ├── ui-bg_glass_75_79c9ec_1x400.png
│ │ │ ├── ui-bg_gloss-wave_45_e14f1c_500x100.png
│ │ │ ├── ui-bg_gloss-wave_50_6eac2c_500x100.png
│ │ │ ├── ui-bg_gloss-wave_75_2191c0_500x100.png
│ │ │ ├── ui-bg_inset-hard_100_fcfdfd_1x100.png
│ │ │ ├── ui-icons_0078ae_256x240.png
│ │ │ ├── ui-icons_056b93_256x240.png
│ │ │ ├── ui-icons_d8e7f3_256x240.png
│ │ │ ├── ui-icons_e0fdff_256x240.png
│ │ │ ├── ui-icons_f5e175_256x240.png
│ │ │ ├── ui-icons_f7a50d_256x240.png
│ │ │ └── ui-icons_fcd113_256x240.png
│ │ │ └── jquery-ui-1.8.13.custom.css
│ ├── images
│ │ ├── add-icon.gif
│ │ ├── adm_flash
│ │ │ ├── BattlerCopyScene.swf
│ │ │ ├── build_editor.swf
│ │ │ ├── builds.swf
│ │ │ ├── city_map_editor.swf
│ │ │ └── war_map_editor.swf
│ │ ├── arrow.gif
│ │ ├── bg-center-column.jpg
│ │ ├── del-icon.gif
│ │ ├── edit-icon.gif
│ │ ├── hr.gif
│ │ ├── login-icon.gif
│ │ ├── logo.gif
│ │ ├── save-icon.gif
│ │ └── war_map_cell
│ │ │ ├── 1.jpg
│ │ │ ├── 10.jpg
│ │ │ ├── 11.jpg
│ │ │ ├── 12.jpg
│ │ │ ├── 13.jpg
│ │ │ ├── 14.jpg
│ │ │ ├── 15.jpg
│ │ │ ├── 16.jpg
│ │ │ ├── 17.jpg
│ │ │ ├── 18.jpg
│ │ │ ├── 19.jpg
│ │ │ ├── 2.jpg
│ │ │ ├── 20.jpg
│ │ │ ├── 21.jpg
│ │ │ ├── 3.jpg
│ │ │ ├── 4.jpg
│ │ │ ├── 5.jpg
│ │ │ ├── 6.jpg
│ │ │ ├── 7.jpg
│ │ │ ├── 8.jpg
│ │ │ └── 9.jpg
│ └── js
│ │ ├── CopyMapEditor.js
│ │ ├── My97DatePicker
│ │ ├── My97DatePicker.htm
│ │ ├── WdatePicker.js
│ │ ├── calendar.js
│ │ ├── config.js
│ │ ├── lang
│ │ │ ├── en.js
│ │ │ ├── zh-cn.js
│ │ │ └── zh-tw.js
│ │ └── skin
│ │ │ ├── WdatePicker.css
│ │ │ ├── datePicker.gif
│ │ │ ├── default
│ │ │ ├── datepicker.css
│ │ │ └── img.gif
│ │ │ └── whyGreen
│ │ │ ├── bg.jpg
│ │ │ ├── datepicker.css
│ │ │ └── img.gif
│ │ ├── jquery-1.5.1.min.js
│ │ ├── jquery-ui-1.8.13.custom.min.js
│ │ ├── jquery.cleditor.min.js
│ │ ├── jquery.swfobject.1-1-1.min.js
│ │ └── swfobject.js
├── bg.jpg
├── index.css
├── jquery.js
├── loading.gif
├── logo.png
├── main.css
├── qqmain.css
└── swfobject.js
├── testdev.php
├── testlogin.php
├── tool
├── auth.php
├── gm_city.php
├── gm_hero.php
├── gm_union.php
└── makecard.php
└── wait.html
/adm/c/Build.php:
--------------------------------------------------------------------------------
1 | 0 && $zhou > 0 && $areaVal) {
20 | $info = B_DB::instance('BaseBuild')->getOne($id);
21 | $oldArea = json_decode($info['area'], true);
22 | $oldArea[$zhou] = $areaVal;
23 | $newArea = json_encode($oldArea);
24 | //占地区域:(208,112,32,0,0,0,0,0)
25 | $res = B_DB::instance('BaseBuild')->update(array('area' => $newArea), $id);
26 | $flag = $res ? 1 : 0;
27 | }
28 | $json['flag'] = $flag;
29 | $json['data'] = array(
30 | 'id' => $id,
31 | 'area' => $area
32 | );
33 | M_Build::delBuildBaseCache();
34 | echo json_encode($json);
35 |
36 | }
37 | }
38 |
39 | ?>
--------------------------------------------------------------------------------
/adm/c/Index.php:
--------------------------------------------------------------------------------
1 | verifyLogin($username, md5($password));
21 | if ($ret) {
22 | M_Adm::setLoginInfo($ret);
23 | B_Common::redirect('?r=Index/Index');
24 | }
25 | }
26 | B_Common::redirect('?r=Index/Login');
27 | }
28 |
29 | static public function ALogout() {
30 | M_Adm::delLoginInfo();
31 | B_Common::redirect('?r=Index/Login');
32 | }
33 | }
34 |
35 | ?>
--------------------------------------------------------------------------------
/adm/c/User.php:
--------------------------------------------------------------------------------
1 | FILTER_SANITIZE_NUMBER_INT,
17 | );
18 | $formVals = filter_var_array($_REQUEST, $args);
19 | $offset = 25;
20 | $curPage = max(1, $formVals['page']);
21 |
22 | $pageData['list'] = B_DB::instance('City')->getPage($curPage, $offset);
23 | $totalNum = B_DB::instance('City')->total();
24 | $pageData['page'] = B_Page::make($curPage, $totalNum, $offset, 20);
25 |
26 | B_View::setVal('pageData', $pageData);
27 | B_View::render('User/List');
28 | }
29 |
30 | public function AAdd() {
31 | $args = array(
32 | 'id' => FILTER_SANITIZE_NUMBER_INT,
33 | );
34 | $formVals = filter_var_array($_REQUEST, $args);
35 |
36 | $pageData['info'] = B_DB::instance('User')->get($formVals['id']);
37 |
38 | B_View::setVal('pageData', $pageData);
39 | B_View::render('User/Add');
40 | }
41 |
42 | public function ADel() {
43 |
44 | B_Common::redirect('?r=user/list');
45 | }
46 | }
47 |
48 | ?>
--------------------------------------------------------------------------------
/adm/lib/PHPExcel/Calculation/ExceptionHandler.php:
--------------------------------------------------------------------------------
1 | 'Base/Index',
5 | '兵种列表' => 'Base/ArmyList&page=1',
6 | );
7 | ?>
8 |
9 |
10 |
兵种数据列表
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | ID |
21 | 兵种名 |
22 | 描述 |
23 | 金钱 |
24 | 粮食 |
25 | 石油 |
26 | 人口 |
27 | 操作 |
28 |
29 | $val) { ?>
30 |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 |
39 |
42 | |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/adm/v/Base/AwardImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '奖励导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/adm/v/Base/BoutImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '突围导入' => '#',
6 | );
7 | ?>
8 |
9 |
10 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/adm/v/Base/CampaignImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '据点导入' => '#',
6 | );
7 | ?>
8 |
9 |
10 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/adm/v/Base/ConsumerList.php:
--------------------------------------------------------------------------------
1 | 'Base/Index',
5 | '运营商列表' => 'Base/ConsumerList',
6 | );
7 | ?>
8 |
23 |
24 |
运营商管理
25 |
26 |
29 |
30 |
--------------------------------------------------------------------------------
/adm/v/Base/EquipImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '装备导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
装备数据列表
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | $v):
25 | echo "{$k}#{$v} ";
26 | if ($i % 7 == 0) {
27 | echo "
";
28 | }
29 | $i++;
30 | endforeach;
31 | }
32 |
33 | ?>
34 |
35 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/adm/v/Base/EquipSuitImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '套装装备导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
套装装备数据列表
13 |
14 |
15 |
21 |
22 |
23 | $v):
27 | echo "{$k}#{$v} ";
28 | if ($i % 7 == 0) {
29 | echo "
";
30 | }
31 | $i++;
32 | endforeach;
33 | }
34 |
35 | ?>
36 |
37 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/adm/v/Base/ExchangeImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '兑换列表' => 'Base/ExchangeList',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
兑换列表
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | $v):
24 | echo "{$k}#{$v} ";
25 | if ($i % 7 == 0) {
26 | echo "
";
27 | }
28 | $i++;
29 | endforeach;
30 | }
31 |
32 | ?>
33 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/adm/v/Base/HeroTplImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | 'NPC导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
30 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/adm/v/Base/MallImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '商城物品导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
商城物品数据列表
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | $v):
25 | echo "{$k}#{$v} ";
26 | if ($i % 7 == 0) {
27 | echo "
";
28 | }
29 | $i++;
30 | endforeach;
31 | }
32 |
33 | ?>
34 |
35 |
53 |
54 |
55 | 商城栏目[1内政道具,2军官道具,3宝物道具,4战斗道具,5图纸,6点券商城,7材料]
56 |
57 |
58 |
--------------------------------------------------------------------------------
/adm/v/Base/MultiFBImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '多人副本列表' => 'Base/MultiFBList',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
多人副本导入
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | $v):
24 | echo "{$k}#{$v} ";
25 | if ($i % 7 == 0) {
26 | echo "
";
27 | }
28 | $i++;
29 | endforeach;
30 | }
31 |
32 | ?>
33 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/adm/v/Base/ProbeImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '事件导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
30 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/adm/v/Base/QuestionImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '指引导入' => '#',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
新手指引管理
12 |
13 |
14 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/adm/v/Base/SkillImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '技能列表导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
技能数据列表
13 |
14 |
15 |
21 |
22 |
23 | $v):
27 | echo "{$k}#{$v} ";
28 | if ($i % 7 == 0) {
29 | echo "
";
30 | }
31 | $i++;
32 | endforeach;
33 | }
34 |
35 | ?>
36 |
37 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/adm/v/Base/UnionList.php:
--------------------------------------------------------------------------------
1 | 'Base/Index',
5 | '联盟列表' => 'Base/UnionList',
6 | );
7 | ?>
8 |
9 |
10 |
游戏联盟管理
11 |
12 |
15 |
16 |
--------------------------------------------------------------------------------
/adm/v/Base/WeaponImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '武器导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
道具数据列表
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | $v):
25 | echo "{$k}#{$v} ";
26 | if ($i % 7 == 0) {
27 | echo "
";
28 | }
29 | $i++;
30 | endforeach;
31 | }
32 |
33 | ?>
34 |
35 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/adm/v/Cache/File.php:
--------------------------------------------------------------------------------
1 | 'index/index',
4 | 'Bin文件' => '',
5 | );
6 | ?>
7 |
8 |
9 |
Bin文件列表
10 |
11 |
12 |
13 | ...
14 |
15 |
16 |
更新Bin文件
17 |
18 |
--------------------------------------------------------------------------------
/adm/v/Cache/InfoList.php:
--------------------------------------------------------------------------------
1 | 'index/index',
4 | '缓存KEY列表' => '',
5 | );
6 | ?>
7 |
8 |
9 |
缓存KEY信息列表
10 |
11 |
12 |
33 |
--------------------------------------------------------------------------------
/adm/v/Cache/List.php:
--------------------------------------------------------------------------------
1 | 'index/index',
4 | '缓存KEY列表' => '',
5 | );
6 | ?>
7 |
8 |
9 |
缓存KEY列表
10 |
11 |
12 |
31 |
--------------------------------------------------------------------------------
/adm/v/Cache/Tip.php:
--------------------------------------------------------------------------------
1 | 'index/index',
4 | '缓存信息' => '',
5 | );
6 | ?>
7 |
8 |
9 |
缓存信息
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adm/v/DataAccess.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/adm/v/DataCom.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/adm/v/Index/Login.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | );
6 | ?>
7 |
8 |
9 |
10 |
登录操作
11 |
12 |
13 |
--------------------------------------------------------------------------------
/adm/v/Manger/DebugIp.php:
--------------------------------------------------------------------------------
1 | 'index/index',
6 | );
7 | ?>
8 |
9 |
调试IP列表
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/adm/v/Manger/DelPayRow.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | );
6 | ?>
7 |
8 |
清除特定用户充值记录
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/adm/v/Manger/GMUser.php:
--------------------------------------------------------------------------------
1 | 'index/index',
6 | );
7 | ?>
8 |
9 |
GM列表
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/adm/v/Manger/RestoreMerge.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | );
6 | ?>
7 |
8 |
合服重新迁移
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
36 |
37 |
38 | ";
41 | echo "合服列表";
42 | foreach ($pageData['mergeConf']['db']['database'] as $k => $v) {
43 | echo "[" . $k . '=>' . $v . '],';
44 | }
45 | echo "
";
46 | $info = M_Props::baseInfo($pageData['mergeConf']["compensate_props_id"]);
47 | echo "玩家补偿ID:" . $pageData['mergeConf']["compensate_props_id"] . "=>{$info['name']}
";
48 | $info = M_Props::baseInfo($pageData['mergeConf']["union_props_id"]);
49 | echo "联盟补偿ID:" . $pageData['mergeConf']["union_props_id"] . "=>{$info['name']}
";
50 | ?>
51 |
--------------------------------------------------------------------------------
/adm/v/Manger/UserGroup.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '权限组列表' => 'Manger/UserGroup',
6 | );
7 | ?>
8 |
9 |
添加
10 |
11 |
权限组列表
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | ID |
23 | 权限组名称 |
24 | 操作 |
25 |
26 | $val): ?>
27 |
28 | |
29 | |
30 |
31 |
32 |
34 | |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/adm/v/Map/SecneList.php:
--------------------------------------------------------------------------------
1 | '',
6 | $name => '',
7 | );
8 | ?>
9 |
10 |
11 |
地图编辑器
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | $val) { ?>
22 | -
23 |

24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/adm/v/Map/SecneView.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '装备列表' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
地图编辑器
12 |
13 |
17 |
18 |
48 |
--------------------------------------------------------------------------------
/adm/v/Map/WarMapEditor.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '战场地图编辑器' => 'Map/WarMapEditor',
6 | );
7 |
8 | $info = isset($pageData['info']) ? $pageData['info'] : '';
9 | ?>
10 |
11 |
12 |
战场地图编辑器
13 |
14 |
15 |
16 |
17 |
18 |
19 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/adm/v/Map/WarMapImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '地图导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
地图管理
12 |
13 |
14 | $v):
18 | echo "{$k}#{$v} ";
19 | if ($i % 7 == 0) {
20 | echo "
";
21 | }
22 | $i++;
23 | endforeach;
24 | }
25 | ?>
26 |
27 |
导出每页100记录:
28 | ' . $i . ' ';
32 | }
33 | ?>
34 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/adm/v/Server/Cron.php:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/adm/v/Server/Index.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/adm/v/Server/Index.php
--------------------------------------------------------------------------------
/adm/v/Server/Php.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/adm/v/Server/ReqNum.php:
--------------------------------------------------------------------------------
1 |
4 |
10 |
--------------------------------------------------------------------------------
/adm/v/Server/Sys.php:
--------------------------------------------------------------------------------
1 | $val) {
5 | $list[$key] = $val;
6 | $arr[$val[3]]['cpu'] = isset($arr[$val[3]]['cpu']) ? $arr[$val[3]]['cpu'] + $val[1] : $val[1];
7 | $arr[$val[3]]['mem'] = isset($arr[$val[3]]['mem']) ? $arr[$val[3]]['mem'] + $val[2] : $val[2];
8 | $arr[$val[3]]['num'] = isset($arr[$val[3]]['num']) ? $arr[$val[3]]['num'] + 1 : 1;
9 | }
10 |
11 | ?>
12 |
18 |
19 | 进程概况:
20 |
38 |
39 | 进程详细:
40 |
60 | 共有 个进程
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/adm/v/Server/UploadCode.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '代码更新' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
12 |
代码更新
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
40 |
41 |
--------------------------------------------------------------------------------
/adm/v/System/Config_Army.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '兵种' => 'System/Config&type=army',
6 | '英雄' => 'System/Config&type=hero',
7 | '装备' => 'System/Config&type=equip',
8 | );
9 | $baselist = $pageData['baselist'];
10 | ?>
11 |
12 |
13 |
兵种配置
14 |
15 |
16 |
17 |
18 |
19 |
44 |
--------------------------------------------------------------------------------
/adm/v/System/Config_Drama.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '系统管理' => 'System/index',
6 | '剧情任务奖励配置' => 'System/ConfigDrama',
7 | );
8 |
9 | $dramaAward = $pageData['info'];
10 | $dramaNum = $pageData['dramaNum'];
11 | $baselist = $pageData['baselist'];
12 | ?>
13 |
14 |
15 |
剧情任务奖励配置
16 |
17 |
18 |
19 |
20 |
21 |
48 |
--------------------------------------------------------------------------------
/adm/v/System/Config_Weapon.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '系统管理' => 'System/index',
6 | );
7 | $baselist = $pageData['baselist'];
8 | ?>
9 |
10 |
11 |
武器配置
12 |
13 |
14 |
15 |
16 |
17 |
18 |
48 |
49 |
--------------------------------------------------------------------------------
/adm/v/User/Add.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | '用户列表' => 'user/list',
6 | '用户添加' => '',
7 | );
8 |
9 | $info = $pageData['info'];
10 | ?>
11 |
12 |
13 |
用户管理
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adm/v/War/WarFbImport.php:
--------------------------------------------------------------------------------
1 | 'index/index',
5 | 'NPC导入' => '',
6 | );
7 | ?>
8 |
9 |
10 |
11 |
NPC管理
12 |
13 |
14 |
15 |
16 | $v):
20 | echo "{$k}#{$v} ";
21 | if ($i % 7 == 0) {
22 | echo "
";
23 | }
24 | $i++;
25 | endforeach;
26 | }
27 |
28 | ?>
29 |
30 |
48 |
49 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/adm/v/footer.php:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/adm/v/header.php:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/adm/v/index.php:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/adm/v/nav.php:
--------------------------------------------------------------------------------
1 | 1
--------------------------------------------------------------------------------
/etc/config.php:
--------------------------------------------------------------------------------
1 | 'localhost',
5 | 'database' => 's1_ww2',
6 | 'username' => 's1_user',
7 | 'password' => '',
8 | 'port' => '3306',
9 | );
10 |
11 | /** 统计数据库配置 **/
12 | $config['statsdb'] = array(
13 | 'hostname' => 'localhost',
14 | 'database' => 's1_ww2_stats',
15 | 'username' => 's1_user',
16 | 'password' => '',
17 | 'port' => '3306',
18 | );
19 |
20 | /** 统计数据库配置 **/
21 | $config['basedb'] = array(
22 | 'hostname' => 'localhost',
23 | 'database' => 's1_ww2_base',
24 | 'username' => 'base_user',
25 | 'password' => '',
26 | 'port' => '3306',
27 | );
28 |
29 | /** 备份数据库配置 **/
30 | $config['backup'] = array(
31 | 'hostname' => '127.0.0.1',
32 | 'username' => 'root',
33 | 'password' => '',
34 | 'port' => '3328',
35 | );
36 |
37 | /** redis配置 **/
38 | $config['redis'] = array(
39 | 'hostname' => array('127.0.0.1:6379'),
40 | 'db' => 1,
41 | );
42 |
43 |
44 | return $config;
45 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/amf/app/Actions.php:
--------------------------------------------------------------------------------
1 | getValue();
18 | $time = microtime_float();
19 |
20 |
21 | $results = B_Controller::call($args);
22 |
23 | global $amfphp;
24 | $amfphp['callTime'] += microtime_float() - $time;
25 |
26 | if ($results !== '__amfphp_error') {
27 | $amfbody->setResults($results);
28 | $amfbody->responseURI = $amfbody->responseIndex . "/onResult";
29 | }
30 | return false;
31 | }
32 |
33 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/amf/readme.txt:
--------------------------------------------------------------------------------
1 | The files located here are part of the amfphp core functionality.
2 |
3 | Unless you want to patch or add functionality to amfphp, you probably don't want to play with these files.
--------------------------------------------------------------------------------
/lib/Amfphp/amf/util/DateWrapper.php:
--------------------------------------------------------------------------------
1 | _date = $input / 1000;
21 | } else {
22 | $this->_date = time();
23 | }
24 | }
25 |
26 | /**
27 | * Get date according to client timezone
28 | */
29 | function getClientDate() {
30 | return $this->_date + DateWrapper::getTimezone();
31 | }
32 |
33 | /**
34 | * Get date according to server timezone
35 | */
36 | function getServerDate() {
37 | return ($this->_date + date("Z"));
38 | }
39 |
40 | /**
41 | * Get raw date
42 | */
43 | function getRawDate() {
44 | return $this->_date;
45 | }
46 |
47 | /**
48 | * Set utc date
49 | */
50 | function setDate($input) {
51 | $this->_date = $input;
52 | }
53 |
54 | /**
55 | * Get timezone
56 | */
57 | function getTimezone($val = NULL) {
58 | static $timezone = 0;
59 | if ($val != NULL) {
60 | $timezone = $val;
61 | }
62 | return $timezone;
63 | }
64 |
65 | /**
66 | * Set timezone
67 | */
68 | function setTimezone($val = 0) {
69 | return DateWrapper::getTimezone($val);
70 | }
71 | }
72 |
73 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/amf/util/TraceHeader.php:
--------------------------------------------------------------------------------
1 | EventType = "trace";
16 | $this->Time = time();
17 | $this->Source = "Server";
18 | $this->Date = array(date("D M j G:i:s T O Y"));
19 | $this->messages = $traceStack;
20 | }
21 | }
22 |
23 | class ProfilingHeader {
24 | function ProfilingHeader() {
25 | global $amfphp;
26 | $this->EventType = "profiling";
27 |
28 | $this->includeTime = (int)($amfphp['includeTime'] * 1000);
29 | $this->decodeTime = (int)($amfphp['decodeTime'] * 1000);
30 | $this->callTime = (int)($amfphp['callTime'] * 1000);
31 | $this->totalTime = (int)($amfphp['totalTime'] * 1000);
32 | $this->frameworkTime = ((int)($amfphp['totalTime'] * 1000))
33 | - $this->includeTime
34 | - $this->decodeTime
35 | - $this->callTime;
36 | }
37 | }
38 |
39 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/shared/app/Constants.php:
--------------------------------------------------------------------------------
1 | = 5 ? true : false);
47 | /**
48 | * The Content Type String
49 | */
50 | $tmp = pack("d", 1); // determine the multi-byte ordering of this machine temporarily pack 1
51 | define("AMFPHP_BIG_ENDIAN", $tmp == "\0\0\0\0\0\0\360\77");
52 |
53 | ?>
54 |
--------------------------------------------------------------------------------
/lib/Amfphp/shared/app/Globals.php:
--------------------------------------------------------------------------------
1 | 'peardb', //PEAR::DB
36 | 'pdostatement' => 'pdo', //PDO
37 | 'mysqli_result' => 'mysqliobject', //Mysqli
38 | 'sqliteresult' => 'sqliteobject', //SQLite
39 | 'sqliteunbuffered' => 'sqliteobject',
40 | 'adorecordset' => 'adodb', //ADODB
41 | 'zend_db_table_row' => 'zendrow', //Zend::DB
42 | 'zend_db_table_rowset' => 'zendrowset',
43 | 'recordset' => 'plainrecordset', //Plain recordset
44 | 'doctrine_collection_immediate' => 'doctrine' //Doctrine table
45 | );
46 |
47 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/shared/app/php5Executive.php:
--------------------------------------------------------------------------------
1 |
53 |
--------------------------------------------------------------------------------
/lib/Amfphp/shared/exception/php5Exception.php:
--------------------------------------------------------------------------------
1 | description = $string;
24 | $this->level = $level;
25 | $this->code = "AMFPHP_RUNTIME_ERROR";
26 | $this->file = $file;
27 | $this->line = $line;
28 | Exception::__construct($string);
29 | }
30 | }
31 |
32 | function amfErrorHandler($level, $string, $file, $line, $context) {
33 | //forget about errors not defined at reported
34 | $msg = new VerboseException($string, $level, $file, $line);
35 | Logger::write($msg, 'php', false);
36 | }
37 |
38 | set_error_handler("amfErrorHandler");
39 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/shared/util/CompatPhp5.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/Amfphp/shared/util/Headers.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/Amfphp/shared/util/MessageHeader.php:
--------------------------------------------------------------------------------
1 | name = $name;
44 | $this->required = $required;
45 | $this->value = $value;
46 | }
47 | }
48 |
49 | ?>
--------------------------------------------------------------------------------
/lib/Amfphp/shared/util/NetDebug.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/Amfphp/shared/util/functions.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/openqq/SnsSigCheck.php:
--------------------------------------------------------------------------------
1 | $val) {
39 | array_push($query_string, $key . '=' . $val);
40 | }
41 | $query_string = join('&', $query_string);
42 |
43 | return $strs . rawurlencode($query_string);
44 | }
45 | }
46 |
47 |
48 | // end of script
49 |
--------------------------------------------------------------------------------
/log/readme.txt:
--------------------------------------------------------------------------------
1 | 一、服务器错误日志
2 | apc是否正常
3 | mysql系统是否正常
4 | redis系统是否正常
5 |
6 | 二、程序错误日志
7 |
8 | 三、军饷 礼卷消耗日志
9 |
10 | 四、资源日志
11 |
12 | 五、 非法访问日志
13 |
14 |
--------------------------------------------------------------------------------
/run/s1/common.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/run/s1/cron/CronPerMin.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 |
--------------------------------------------------------------------------------
/run/s1/cron/crontab_root:
--------------------------------------------------------------------------------
1 | #每1小时同步时间
2 | 10 * * * * /usr/sbin/ntpdate time.windows.com
3 |
--------------------------------------------------------------------------------
/run/s1/cron/crontab_www:
--------------------------------------------------------------------------------
1 | #每1分钟统计一次
2 | * * * * * /opt/ww2/run/cron/CronPerMin.php
3 |
--------------------------------------------------------------------------------
/run/s1/cron/dbbakup.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 |
--------------------------------------------------------------------------------
/run/s1/cron/nginx_cut_log.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ## 零点执行该脚本
3 | ## 日志切割脚本
4 | ## Nginx 日志文件所在的目录
5 | LOGS_PATH=/opt/nginx/logs
6 | ## 获取昨天的 yyyy-MM-dd
7 | YESTERDAY=$(date -d "yesterday" +%Y%m%d)
8 | ## 移动文件
9 | mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
10 | mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
11 | ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
12 | kill -USR1 $(cat /opt/nginx/run/nginx.pid)
13 |
--------------------------------------------------------------------------------
/run/s1/cron/readme.txt:
--------------------------------------------------------------------------------
1 | minute hour day month dayofweek command
2 | */1 * * * * (/usr/local/bin/php /home/eygle/tw2ohter/cron.php)
3 | 每分钟执行一次
4 |
5 | # record the memory usage of the system every monday
6 | # at 3:30AM in the file /tmp/meminfo
7 | 30 3 * * * cat /proc/meminfo >> /tmp/meminfo
8 |
9 |
10 | # run custom script the first day of every month at 4:10AM
11 | 10 4 1 * * /root/scripts/backup.sh
12 |
13 |
14 | minute — 分钟,从 0 到 59 之间的任何整数
15 |
16 | hour — 小时,从 0 到 23 之间的任何整数
17 |
18 | day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
19 |
20 | month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
21 |
22 | dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
23 |
24 | command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)
25 |
26 |
27 | 如果需要按秒钟 则需要用C 来写守护进程脚本
--------------------------------------------------------------------------------
/run/s1/deamon/DeamonBattleHandler.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | " . time(). "\n";
18 | }
19 | */
20 | if ($pids[$i] == -1) {
21 | echo "couldn't fork" . "\n";
22 | } elseif (!$pids[$i]) {
23 | while (1) {
24 | $pid = getmypid();
25 | $now = microtime(true);
26 | //战斗的ID队列列表
27 | M_Battle_QueueHandler::run($i);
28 | $end = microtime(true);
29 | echo "[{$i}][{$pid}][M_Battle_QueueHandler::run]CostTime:" . sprintf("%f secs.", $end - $now) . " \n";
30 |
31 | M_Battle_QueueAI::run($i);
32 | $end2 = microtime(true);
33 | $costTime = sprintf("%f secs.\n", $end2 - $end);
34 | echo "[{$i}][{$pid}][M_Battle_QueueAI::run]#CostTime:" . sprintf("%f secs.", $end2 - $end) . "\n";
35 |
36 | sleep(3);
37 | }
38 |
39 | exit(0); //子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程
40 | }
41 | if ($bWaitFlag) {
42 | pcntl_waitpid($pids[$i], $status, WUNTRACED);
43 | echo "wait $i -> " . time() . "\n";
44 | }
45 | }
46 | $elapsed = microtime(TRUE) - $starttime;
47 | print "\n==> total elapsed: " . sprintf("%f secs.\n", $elapsed);
48 |
49 |
50 | ?>
51 |
--------------------------------------------------------------------------------
/run/s1/deamon/DeamonCityVisitQueue.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | " . time(). "\n";
19 | }
20 | */
21 | if ($pids[$i] == -1) {
22 | echo "couldn't fork" . "\n";
23 | } elseif (!$pids[$i]) {
24 | while (1) {
25 | $pid = getmypid();
26 | $now = microtime(true);
27 | M_March::run($i);
28 | $end = microtime(true);
29 | echo "[{$i}][{$pid}][M_March::run]#CostTime:" . sprintf("%f secs.", $end - $now) . "\n";
30 |
31 | sleep(3);
32 | }
33 |
34 | exit(0); //子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程
35 | }
36 | if ($bWaitFlag) {
37 | pcntl_waitpid($pids[$i], $status, WUNTRACED);
38 | echo "wait $i -> " . time() . "\n";
39 | }
40 | }
41 | $elapsed = microtime(TRUE) - $starttime;
42 | print "\n==> total elapsed: " . sprintf("%f secs.\n", $elapsed);
43 |
44 |
45 |
46 | ?>
--------------------------------------------------------------------------------
/run/s1/deamon/run.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | '行军守护进程',
14 | 'DeamonBattleHandler.php' => '战斗队列守护进程',
15 | 'DeamonCityVisitQueue.php' => '访问队列',
16 | );
17 |
18 |
19 | $proc = array();
20 | foreach ($outArr as $val) {
21 | if (!empty($val)) {
22 | list($pid, $pname) = explode(',', $val);
23 | $info = pathinfo($pname);
24 | $name = $info['filename'];
25 | $proc[$name] = $pid;
26 | }
27 | }
28 |
29 |
30 | if (!empty($argv[1])) {
31 | switch ($argv[1]) {
32 |
33 | case 'stop':
34 | foreach ($outArr as $val) {
35 | if (!empty($val)) {
36 | list($pid, $pname) = explode(',', $val);
37 | posix_kill($pid, 9);
38 | echo "Kill $pname $pid [OK]\n";
39 | }
40 | }
41 | break;
42 | case 'restart':
43 | case 'start':
44 | foreach ($enableArr as $fileName => $desc) {
45 | if (isset($proc[$fileName])) {
46 | echo "{$desc} Pid:[{$proc[$fileName]}] {$fileName} [Found]\n";
47 | } else {
48 | $cmd = "nohup {$dir_path}/{$fileName} > /dev/null & ";
49 | $cmdout = shell_exec($cmd);
50 | echo $cmdout;
51 | echo "Run {$desc} {$fileName} [OK]\n";
52 | }
53 | }
54 | break;
55 | }
56 | } else {
57 | echo "需要参数: (start,restart,stop)\n";
58 | }
59 |
60 |
61 | $end = microtime(true);
62 | $costTime = $end - $start;
63 | echo "End Cost Time: {$costTime} \n\n";
64 | ?>
65 |
--------------------------------------------------------------------------------
/run/s1/deamon/test.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | $info['user_id'],
16 | 'sess_id' => $sessId,
17 | 'city_id' => $info['city_id'],
18 | 'ip_addr' => $ip,
19 | 'expire' => $expire,
20 | 'verify' => sha1($info['user_id'] . '|' . $sessId . '|' . $info['city_id'] . '|' . $ip . '|' . $expire . '|' . M_Auth::COOKIE_KEY),
21 | );
22 |
23 |
24 | $cookieStr = B_Crypt::encode(json_encode($data));
25 | M_Auth::addOnline($info['user_id'], $sessId, $ip);
26 | $apiurl = "http://www.mswar2.com/dev.php?r=city/info";
27 | $r = new HttpRequest($apiurl, HttpRequest::METH_GET);
28 |
29 | $r->setOptions(array('cookies' => array('A' => $cookieStr)));
30 | $out = $r->send()->getBody();
31 | echo json_encode($out);
32 | var_dump($i);
33 |
34 |
35 | }
36 | usleep(1000);
37 | }
38 |
39 | ?>
40 |
--------------------------------------------------------------------------------
/run/s1/init/InitWildNpc.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 |
--------------------------------------------------------------------------------
/run/s1/init/ResetWildMap.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | $zname) {
12 | $pid = pcntl_fork();
13 | //这里最好不要有其他的语句
14 | if ($pid == -1) {
15 | die('could not fork');
16 | } else if ($pid) {
17 | $p[$pid] = 'ok';
18 | echo "we are the parent $pid\n";
19 | //pcntl_wait($status); //Protect against Zombie children
20 | //echo $status."\n";
21 | } else {
22 | $id = posix_getpid();
23 | //posix_kill($id, SIGHUP);
24 | //posix_kill($id, SIGINT);
25 | echo "I am the child $id\n";
26 |
27 | echo "start clean zone#{$zone}\n";
28 | $no = 1;
29 | foreach ($baseAreaList as $areaNo => $posArr) {
30 | $bDel = array();
31 | foreach ($posArr as $posXY) {
32 | list($x, $y) = explode('_', $posXY);
33 | $posNo = M_MapWild::calcWildMapPosNoByXY($zone, $x, $y);
34 | $mapInfo = M_MapWild::getWildMapInfo($posNo, true);
35 | if ($mapInfo['type'] == T_Map::WILD_MAP_CELL_NPC) {
36 | M_MapWild::delWildMapInfo($posNo);
37 | $bDel[] = $posNo;
38 | }
39 | }
40 |
41 | $rc = new B_Cache_RC(T_Key::WILD_MAP_AREA, $zone . ':' . $areaNo);
42 | $ret = $rc->delete();
43 |
44 | //$ret = M_MapWild::setWildMapAreaCache($zone, $areaNo);
45 | echo "{$zone}=>{$no}#{$areaNo}#" . json_encode($ret) . "==" . json_encode($bDel) . "\n";
46 | $no++;
47 | }
48 | echo "end clean zone#{$zone}\n";
49 |
50 | exit;
51 | }
52 |
53 |
54 | }
55 |
56 | ?>
--------------------------------------------------------------------------------
/run/s1/merge/move_export_data.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | 10) {
11 | echo "init num need in [1, 10]\n";
12 | exit;
13 | }
14 |
15 |
16 | $s = microtime(true);
17 |
18 | //设置拍卖行数据过期
19 | $nowtime = time();
20 | $expiretime = time() - T_App::ONE_HOUR;
21 |
22 | $ret = B_DB::instance('Auction')->updateBy(array('auction_expired' => $expiretime), array('auction_expired' => array('>', $nowtime)));
23 |
24 | //更新所有拍卖交易数据
25 | M_Auction::updateAucInfoTimer();
26 |
27 | //同步数据到内存
28 | M_CacheToDB::runQueue();
29 |
30 | M_Merge::exportData($initNum);
31 | $e = microtime(true);
32 | echo "cost time:" . ceil($e - $s) . "s\n";
33 |
34 |
35 | ?>
--------------------------------------------------------------------------------
/run/s1/merge/move_verify_data.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 |
--------------------------------------------------------------------------------
/run/s1/test/phar.php:
--------------------------------------------------------------------------------
1 | buildFromDirectory('/opt/ww2/srv/v1');
10 | ?>
11 |
--------------------------------------------------------------------------------
/srv/A/Rmon/Cache.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Rmon/Server.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Server/Base.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Server/Consumer.php:
--------------------------------------------------------------------------------
1 | delete($params['cid']);
26 | Logger::debug(array("Del Consumer", array($params, $ret)));
27 | if ($ret) {
28 | M_Consumer::clean();
29 | }
30 | }
31 | return $ret;
32 | }
33 |
34 | static public function addConsumer($params) {
35 | $ret = false;
36 | if (!empty($params['id']) &&
37 | !empty($params['name']) &&
38 | !empty($params['key'])
39 | ) {
40 | $params['create_at'] = time();
41 | $ret = B_DB::instance('AdmConsumer')->insert($params);
42 | Logger::debug(array("Add Consumer", $params));
43 | if ($ret) {
44 | M_Consumer::clean();
45 | }
46 | }
47 | return $ret;
48 |
49 | }
50 | }
51 |
52 | ?>
--------------------------------------------------------------------------------
/srv/A/Stats/ActiveUser.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Stats/Assistance.php:
--------------------------------------------------------------------------------
1 | jsonget();
14 | if (empty($infoArr)) {
15 | $infoArr = B_DB::instance('ServerNews')->all();
16 | $rc->jsonset($infoArr);
17 | }
18 | $listArr = $infoArr;
19 | }
20 |
21 |
22 | return $listArr;
23 | }
24 |
25 | static public function AddAssistance($params = array()) {
26 | $ret = false;
27 | $ret1 = false;
28 | if (!empty($params['id'])) {
29 | $ret = B_DB::instance('ServerNews')->update($params, $params['id']);
30 | } else {
31 | $ret = B_DB::instance('ServerNews')->insert($params);
32 | }
33 | $rc = new B_Cache_RC(T_Key::SERVER_NEWS);
34 | $ret1 = $rc->delete();
35 | return $ret && $ret1;
36 |
37 | }
38 |
39 | static public function DelAssistance($params = array()) {
40 | $ret = false;
41 | $ret1 = false;
42 | $ret = B_DB::instance('ServerNews')->delete($params['id']);
43 | $rc = new B_Cache_RC(T_Key::SERVER_NEWS);
44 | $ret1 = $rc->delete();
45 | return $ret && $ret1;
46 | }
47 | }
48 |
49 | ?>
--------------------------------------------------------------------------------
/srv/A/Stats/Card.php:
--------------------------------------------------------------------------------
1 | getRows($curPage, $offset, $params); //根据条件获得卡类道具使用记录
15 | $propsArr = M_Base::propsAll();
16 | foreach ($list as $key => $value) {
17 | $city_info = M_City::getInfo($value['city_id']);
18 | $list[$key]['nickname'] = $city_info['nickname'];
19 | $propsInfo = $propsArr[$value['props_id']];
20 | $list[$key]['props_name'] = $propsInfo['name'];
21 | $list[$key]['create_at'] = date('Y-m-d H:i:s', $value['create_at']);
22 | }
23 |
24 | $ret['list'] = $list;
25 | $ret['total'] = B_DB::instance('CityCard')->total($params);
26 |
27 | return $ret;
28 | }
29 |
30 |
31 | }
32 |
33 | ?>
--------------------------------------------------------------------------------
/srv/A/Stats/DayActiveUser.php:
--------------------------------------------------------------------------------
1 | hgetall();
18 | $row[date('Ymd')] = $data;
19 | return $row;
20 | }
21 |
22 | static public function DayActiveUserList($params = array()) {
23 | $row = array();
24 | $date = isset($params['date']) ? $params['date'] : ''; //当月的天数
25 | $start = $date; //1日0时0分0秒
26 | $end = $date; //月末23时59分59秒
27 | if ($date == date('Ymd')) {
28 | $rc = new B_Cache_RC(T_Key::CITY_ACTIVE_NUM, date('Ymd'));
29 | $data = $rc->hgetall();
30 | $cityIdArr = array_keys($data);
31 | } else {
32 | $row = B_DBStats::totalOnline('stats_active_num', $start, $end);
33 | $cityIdArr = array_keys(json_decode(gzuncompress(base64_decode($row[0]['city_list'], true)), true));
34 | }
35 |
36 | foreach ($cityIdArr as $cityId) {
37 | $list[] = M_City::getInfo($cityId);
38 |
39 | }
40 |
41 | return $list;
42 | }
43 | }
44 |
45 | ?>
--------------------------------------------------------------------------------
/srv/A/Stats/GetNickname.php:
--------------------------------------------------------------------------------
1 | = 0) {
46 | for ($i = 0; $i <= $num; $i++) {
47 | $cityId = $cityId1 + $i;
48 | $cityInfo = M_City::getInfo($cityId); //获取城市信息
49 | if (!empty($cityInfo)) {
50 | $nickNameArr[] = $cityInfo['nickname'];
51 | }
52 | }
53 | $nickName = implode("\n", $nickNameArr);
54 | }
55 | return $nickName;
56 |
57 | }
58 | }
59 |
60 | ?>
--------------------------------------------------------------------------------
/srv/A/Stats/HistoryHigh.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Stats/OutflowUser.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/A/Stats/RankingRecord.php:
--------------------------------------------------------------------------------
1 | $val) {
22 | $cityId = M_City::getCityIdByNickName(trim($val));
23 | if ($cityId > 0) {
24 | $cityInfo = M_City::getInfo($cityId);
25 | if (isset($consumerIds[$cityInfo['consumer_id']])) {
26 | $newName[$key] = array(
27 | 'id' => $cityId,
28 | 'nickname' => trim($val)
29 | );
30 | }
31 | }
32 | }
33 |
34 | if (empty($newName)) {
35 | return (array)false;
36 | }
37 |
38 | $nickname = $newName;
39 | foreach ($nickname as $val) {
40 | $rc = new B_Cache_RC(T_Key::RANKINGS_RECORD);
41 | $rc->zAdd($params['ranking_value'], $val['id']);
42 | }
43 |
44 | return 1;
45 | }
46 | }
47 |
48 | ?>
--------------------------------------------------------------------------------
/srv/B/Cache/APC.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/B/Cache/File.php:
--------------------------------------------------------------------------------
1 | self::$Data,
32 | 'ErrNo' => self::$RetErr,
33 | );
34 |
35 | return $ret;
36 | }
37 |
38 | static public function call($args) {
39 | $tc = ucfirst($args[0]);
40 | $ta = ucfirst($args[1]);
41 | $c = 'C_' . $tc;
42 | $a = 'A' . $ta;
43 | unset($args[0]);
44 | unset($args[1]);
45 |
46 | $data = array();
47 |
48 | $objC = new $c();
49 | if (!$objC->isLogin()) {
50 | $errNo = T_ErrNo::NO_LOGIN;
51 | $outData = B_Common::result($errNo, $data);
52 | } else if ($objC->hasCity() || $c == 'C_User' || $a == 'ACreate' || $a == 'ARandName' || $a == 'ACheckCityNickname') {
53 | $outData = call_user_func_array(array($objC, $a), $args);
54 | } else {
55 | $errNo = T_ErrNo::CITY_NO_EXIST;
56 | $outData = B_Common::result($errNo, $data);
57 | }
58 |
59 | $results = B_Common::outData($c, $a, $outData);
60 |
61 | return $results;
62 | }
63 | }
64 |
65 | ?>
--------------------------------------------------------------------------------
/srv/B/Crypt.php:
--------------------------------------------------------------------------------
1 | level = $level;
13 | $this->code = "WW2PHP_RUNTIME_ERROR";
14 | $this->file = $file;
15 | $this->line = $line;
16 | Exception::__construct($string);
17 | }
18 | }
--------------------------------------------------------------------------------
/srv/B/Log/Queue.php:
--------------------------------------------------------------------------------
1 | rpush(json_encode(array($msg, $fileDir, $fileName)));
16 | return $ret;
17 | }
18 |
19 | static public function run() {
20 | $rc = new B_Cache_RC(T_Key::LOG_QUEUE);
21 | while ($val = $rc->rPop()) {
22 | list($msg, $fileDir, $fileName) = json_decode($val);
23 |
24 | if (!file_exists($fileDir)) {
25 | @mkdir($fileDir, 0777, true);
26 | @chmod($fileDir, 0777);
27 | }
28 | $logFile = $fileDir . $fileName;
29 | error_log($msg, 3, $logFile);
30 | usleep(500);
31 | }
32 | }
33 |
34 |
35 | }
36 |
37 | ?>
--------------------------------------------------------------------------------
/srv/B/Page.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/B/View.php:
--------------------------------------------------------------------------------
1 | 11000,
15 | 'max_rank' => 1,
16 | 'cur_rank' => 1,
17 | 'max_win_num' => 100,
18 | 'cur_win_num' => 100,
19 | 'next_award_time' => time() + 180,
20 | 'rank_award_list' => array(
21 | array('rank' => 100, 'award_data' => array()),
22 | array('rank' => 200, 'award_data' => array()),
23 | array('rank' => 300, 'award_data' => array()),
24 | array('rank' => 500, 'award_data' => array()),
25 | array('rank' => 1000, 'award_data' => array()),
26 | ),
27 | 'city_list' => array(
28 | array('nickname' => 'xxx1', 'rank' => 1001, 'id' => 1),
29 | array('nickname' => 'xxx2', 'rank' => 1002, 'id' => 2),
30 | array('nickname' => 'xxx3', 'rank' => 1003, 'id' => 3),
31 | array('nickname' => 'xxx4', 'rank' => 1004, 'id' => 4),
32 | array('nickname' => 'xxx5', 'rank' => 1005, 'id' => 5),
33 | ),
34 | 'log' => array(
35 | array('title' => 'xxxx', 'id' => 1),
36 | array('title' => 'xxxx', 'id' => 1),
37 | array('title' => 'xxxx', 'id' => 1),
38 | array('title' => 'xxxx', 'id' => 1),
39 | ),
40 | );
41 |
42 | return B_Common::result($errNo, $data);
43 | }
44 |
45 | /**
46 | * 挑战
47 | *
48 | */
49 | public function ADo($rankNo = 0) {
50 |
51 | }
52 |
53 | /**
54 | * 领取奖励
55 | *
56 | */
57 | public function AAward() {
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/srv/C/College.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/C/Compensate.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/C/FbTeam.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/C/I.php:
--------------------------------------------------------------------------------
1 | objPlayer = new O_Player($cityId);
10 | }
11 |
12 | public function isLogin() {
13 | $cityId = $this->objPlayer->getId();
14 | return $cityId;
15 | }
16 |
17 | public function hasCity() {
18 | $ret = false;
19 | $id = $this->objPlayer->City()->id;
20 | if (!empty($id)) {
21 | $ret = $id;
22 | }
23 | return $ret;
24 | }
25 | }
--------------------------------------------------------------------------------
/srv/C/Index.php:
--------------------------------------------------------------------------------
1 | FILTER_SANITIZE_STRING,
16 | 'cid' => FILTER_SANITIZE_STRING,
17 | );
18 | $formVals = filter_var_array($_REQUEST, $args);
19 | if (!empty($formVals['vk'])) {
20 | $pageData['server_res_url'] = M_Config::getSvrCfg('server_res_url');
21 | $pageData['server_title'] = M_Config::getSvrCfg('server_title');
22 | $domain = B_Utils::getHost();
23 | $pageData['domain'] = $domain;
24 | $pageData['sid'] = 1;
25 | $pageData['resXmlFile'] = str_replace('.', '_', $domain) . '.xml';
26 | $pageData['ver'] = ETC_NO;
27 | $pageData['val'] = $formVals['vk'];
28 | B_View::render('report', $pageData);
29 | exit;
30 | } else {
31 | headers_sent() OR header('HTTP/1.0 404 Page Not Found!!!');
32 | exit;
33 | }
34 | return true;
35 | }
36 | }
37 |
38 | ?>
--------------------------------------------------------------------------------
/srv/M/Adm.php:
--------------------------------------------------------------------------------
1 | $info['id'],
15 | 'username' => $info['username'],
16 | );
17 | $cookieStr = B_Crypt::encode(json_encode($data));
18 |
19 | $ret = setcookie('Adm', $cookieStr, 0);
20 | }
21 |
22 | static public function delLoginInfo() {
23 | $ret = setcookie('Adm', '', time() - 3600);
24 | }
25 |
26 | /**
27 | * 解析登录cookie信息
28 | * @author huwei
29 | * @return array/bool
30 | */
31 | static public function getLoginInfo() {
32 | $ret = false;
33 | $args = array(
34 | 'Adm' => FILTER_SANITIZE_STRING,
35 | );
36 | $formVals = filter_input_array(INPUT_COOKIE, $args);
37 |
38 | if (!empty($formVals['Adm'])) {
39 | $decodeStr = B_Crypt::decode($formVals['Adm']);
40 | $now = time();
41 | $info = json_decode($decodeStr, true);
42 | $logout = true;
43 | $userId = 0;
44 |
45 | if (count($info) == 2 && isset($info['username'])) {
46 | $ret = $info;
47 | }
48 | }
49 |
50 | return $ret;
51 | }
52 | }
53 |
54 | ?>
--------------------------------------------------------------------------------
/srv/M/AntiAddiction.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/M/Army.php:
--------------------------------------------------------------------------------
1 | '步兵',
18 | self::ID_ARMOR => '装甲兵',
19 | self::ID_AIR => '航空兵',
20 | self::ID_GUN => '炮兵',
21 | );
22 | /** 兵种升级所需军营等级 */
23 | static $upgbuild = array(
24 | self::ID_FOOT => array(1, 2), //初始需求等级,间隔等级
25 | self::ID_ARMOR => array(1, 3),
26 | self::ID_AIR => array(1, 4),
27 | self::ID_GUN => array(1, 4),
28 | );
29 |
30 |
31 | static $rate = array(
32 | self::ID_FOOT => 1,
33 | self::ID_ARMOR => 3,
34 | self::ID_AIR => 4,
35 | self::ID_GUN => 4,
36 | );
37 |
38 | /**
39 | * 根据兵种ID获取兵种基础信息
40 | * @author chenhui on 20110414
41 | * @param int build_id 兵种ID
42 | * @return array 兵种基础信息(一维数组)
43 | */
44 | static public function baseInfo($armyId) {
45 | $list = M_Base::armyAll();
46 | return isset($list[$armyId]) ? $list[$armyId] : array();
47 | }
48 |
49 |
50 |
51 |
52 | /**********兵种模块管理后台所需接口*******************/
53 | /** 删除兵种 基础 数据 缓存 */
54 | static public function delArmyCache() {
55 | APC::del(T_Key::BASE_ARMY); //删除缓存,用完注释
56 | }
57 | }
58 |
59 | ?>
--------------------------------------------------------------------------------
/srv/M/Battle/Info.php:
--------------------------------------------------------------------------------
1 | jsonset($BD, T_App::ONE_HOUR);
27 | $log = $ret ? "成功" : "失败";
28 | $log = ">>>>#{$BD['Id']}更新缓存<<<" . $log;
29 | Logger::battle($log, $BD['Id']);
30 | }
31 | return $ret;
32 | }
33 |
34 | /**
35 | * 直接获取缓存中的战斗数据 主要用于AI计算
36 | * @author huwei on 20110704
37 | * @param int $battleId
38 | * @return array
39 | */
40 | static public function get($id) {
41 | $rc = new B_Cache_RC(T_Key::BATTLE_DATA, $id);
42 | $ret = $rc->jsonget();
43 | return $ret;
44 | }
45 |
46 | /**
47 | * 删除战斗数据
48 | * @author huwei on 20110704
49 | * @param int $battleId
50 | * @return bool
51 | */
52 | static public function del($id) {
53 | $rc = new B_Cache_RC(T_Key::BATTLE_DATA, $id);
54 | $ret = $rc->delete();
55 | return $ret;
56 | }
57 | }
58 |
59 | ?>
--------------------------------------------------------------------------------
/srv/M/Buddy.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/M/Buddy.php
--------------------------------------------------------------------------------
/srv/M/Compensate.php:
--------------------------------------------------------------------------------
1 | jsonget();
20 |
21 | if (empty($info)) {
22 | $info = B_DB::instance('ServerCompensate')->all();
23 |
24 | $rc->jsonset($info, T_App::ONE_DAY);
25 | }
26 | $list = $info;
27 | }
28 | return $list;
29 | }
30 | }
31 |
32 | ?>
--------------------------------------------------------------------------------
/srv/M/Consumer.php:
--------------------------------------------------------------------------------
1 | getAll();
12 | foreach ($list as $val) {
13 | $arr[$val['id']] = $val;
14 | }
15 | APC::set($key, $arr);
16 | }
17 | self::$list = $arr;
18 | }
19 | return self::$list;
20 | }
21 |
22 |
23 | static public function getByName($name) {
24 | $ret = array();
25 | $list = self::getList();
26 | foreach ($list as $id => $val) {
27 | if ($val['name'] == $name) {
28 | $ret = $val;
29 | break;
30 | }
31 | }
32 | return $ret;
33 | }
34 |
35 | static public function getById($id) {
36 | $list = self::getList();
37 | return isset($list[$id]) ? $list[$id] : array();
38 | }
39 |
40 | /**
41 | * 改变状态
42 | * @param int $id
43 | * @param int $status
44 | * @return bool
45 | */
46 | static public function changeOpen($id, $status) {
47 | $status = $status > 0 ? 1 : 0;
48 | $setArr = array(
49 | 'id' => $id,
50 | 'is_open' => $status,
51 | );
52 | $ret = B_DB::instance('AdmConsumer')->update($setArr, $setArr['id']);
53 | if ($ret) {
54 | self::clean();
55 | }
56 | return $ret;
57 | }
58 |
59 | static public function clean() {
60 | APC::del(T_Key::CONSUMER_LIST);
61 | }
62 | }
63 |
64 | ?>
--------------------------------------------------------------------------------
/srv/M/Effect.php:
--------------------------------------------------------------------------------
1 | Build()->get();
16 | if (isset($bArr[M_Build::ID_TOWN_CENTER])) {
17 | $keys = array_keys($bArr[M_Build::ID_TOWN_CENTER]);
18 | $lv = $bArr[M_Build::ID_TOWN_CENTER][$keys[0]];
19 |
20 | $bBaseAttr = M_Build::baseUpgInfo(M_Build::ID_TOWN_CENTER, $lv);
21 | $rate = isset($bBaseAttr['effect']) ? $bBaseAttr['effect'] : 0;
22 | return $time * (1 - $rate);
23 | }
24 | }
25 |
26 | /**
27 | * 减少科技时间
28 | * @author huwei
29 | * @param int $time 升级需要的时间
30 | * @return int
31 | */
32 | static public function decrTechTime($cityId, $time) {
33 | $objPlayer = new O_Player($cityId);
34 | $objTech = $objPlayer->Tech();
35 | $tArr = $objTech->get();
36 | if (isset($tArr[M_Build::ID_TECH_CENTER])) {
37 | $lv = $tArr[M_Build::ID_TECH_CENTER];
38 |
39 | $bTechAttr = M_Tech::getUpgInfoByLevel(M_Build::ID_TOWN_CENTER, $lv);
40 | $rate = isset($bTechAttr['effect']) ? $bTechAttr['effect'] : 0;
41 | return $time * (1 - $rate);
42 | }
43 | }
44 |
45 | }
46 |
47 | ?>
--------------------------------------------------------------------------------
/srv/M/Exchange.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/M/Icon.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/M/Liveness.php:
--------------------------------------------------------------------------------
1 | '登陆游戏',
24 | M_Liveness::GET_POINT_UNION_OCCUPIED => '军团占领要塞',
25 | M_Liveness::GET_POINT_DAILY_TASK => '完成日常任务',
26 | M_Liveness::GET_POINT_TEMPNPC => '消灭法西斯',
27 | M_Liveness::GET_POINT_ATK_CITY => '攻击玩家',
28 | M_Liveness::GET_POINT_EXPLORE => '探索NPC属地',
29 | );
30 | }
31 |
32 | ?>
--------------------------------------------------------------------------------
/srv/M/Probe.php:
--------------------------------------------------------------------------------
1 | all();
14 | Logger::base(__METHOD__);
15 | APC::set($apcKey, $info);
16 | }
17 | }
18 | return $info;
19 | }
20 |
21 | static public function getInfo($probeId) {
22 | $arr = M_Base::probeAll();
23 | return isset($arr[$probeId]) ? $arr[$probeId] : false;
24 | }
25 | }
26 |
27 | ?>
--------------------------------------------------------------------------------
/srv/M/Rmon.php:
--------------------------------------------------------------------------------
1 | connect($host, $port);
16 | $status = $redis->info();
17 |
18 | $data = array(
19 | date('YmdHis'),
20 | $status['connected_clients'],
21 | $status['blocked_clients'],
22 | $status['keyspace_hits'], //命中key的次数
23 | $status['keyspace_misses'], //不命中key的次数
24 | $status['used_cpu_sys'],
25 | $status['used_cpu_user'],
26 | $status['used_cpu_sys_children'],
27 | $status['used_cpu_user_children'],
28 | $status['used_memory_peak_human'], //Redis所用内存的高峰值
29 | $status['total_commands_processed'], //运行以来执行过的命令的总数量
30 | $status['mem_fragmentation_ratio'], //内存碎片比率
31 | );
32 |
33 | $logFile = $fileDir . '/' . date('Ymd') . '_' . $port . '.log';
34 | error_log(implode(',', $data) . "\n", 3, $logFile);
35 | $redis->close();
36 | }
37 | }
38 | }
39 |
40 | ?>
--------------------------------------------------------------------------------
/srv/M/Stats.php:
--------------------------------------------------------------------------------
1 | hincrby($reqNo, 1);
7 | }
8 |
9 | static public function getReqNo($tmpH) {
10 | $rc = new B_Cache_RC('StatsNum', $tmpH);
11 | return $rc->hgetall();
12 | }
13 | }
14 |
15 | ?>
--------------------------------------------------------------------------------
/srv/O/Equip.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/O/Equip.php
--------------------------------------------------------------------------------
/srv/O/Hero.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/O/Hero.php
--------------------------------------------------------------------------------
/srv/O/I.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/AdmConsumer.php:
--------------------------------------------------------------------------------
1 | get($userId);
15 | return $rows;
16 | }
17 |
18 | /**
19 | * 验证用户登陆
20 | * @param array $info (username, password)
21 | * @return bool/array
22 | */
23 | public function verifyLogin($username, $password) {
24 | $row = $this->getBy(array('username' => $username, 'password' => $password));
25 |
26 | return $row;
27 | }
28 |
29 | /**
30 | * 通过分页获取记录数 for admin
31 | * @author huwei
32 | * @param int $page 当前页
33 | * @param int $offset 每页记录数
34 | * @return array
35 | */
36 | public function getRowsByPage($page, $offset) {
37 | $start = ($page - 1) * $offset;
38 | $rows = $this->getList($start, $offset);
39 | return $rows;
40 | }
41 | }
42 |
43 | ?>
--------------------------------------------------------------------------------
/srv/Q/Alliance.php:
--------------------------------------------------------------------------------
1 | getsBy(array(), array('level' => 'DESC', 'total_renown' => 'DESC', 'id' => 'ASC'));
11 | return $rows;
12 | }
13 |
14 | /**
15 | * 根据联盟名称查询联盟ID
16 | * @author HeJunyun
17 | * @param string $name 联盟名称
18 | * @return array/bool
19 | */
20 | public function getIdByName($name) {
21 | $row = $this->getBy(array('name' => $name));
22 | return $row['id'];
23 | }
24 |
25 | }
26 |
27 | ?>
--------------------------------------------------------------------------------
/srv/Q/AllianceMember.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseAward.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseBreakout.php:
--------------------------------------------------------------------------------
1 | getAll();
16 | $rows = array();
17 |
18 | foreach ($row as $key => $val) {
19 | $rows[$val['id']] = $val;
20 | }
21 |
22 | return $rows;
23 | }
24 |
25 | }
26 |
27 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseBuildAttr.php:
--------------------------------------------------------------------------------
1 | 1);
15 | if ($all) {
16 | $arrWhere = array();
17 | }
18 | $list = $this->getsBy($arrWhere);
19 | $rows = array();
20 | foreach ($list as $val) {
21 | $rows[$val['id']] = $val;
22 | }
23 | return $rows;
24 |
25 | }
26 | }
27 |
28 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseConfig.php:
--------------------------------------------------------------------------------
1 | insert($info);
20 | return $id;
21 |
22 | }
23 |
24 | /**
25 | * 根据配置名字更新配置数据
26 | * @author chenhui on 20110616
27 | * @param string name 配置的名字
28 | * @param array updinfo 要更新的配置名字对应数组
29 | * @return bool true/false
30 | */
31 | public function set($key, $val) {
32 | $ret = $this->updateBy(array('value' => $val), array('name' => $key));
33 | return $ret;
34 | }
35 |
36 |
37 | /**
38 | * 获取配置
39 | * @return array
40 | */
41 | public function all() {
42 | $list = $this->getAll();
43 | $rows = array();
44 | foreach ($list as $val) {
45 | $rows[$val['name']] = json_decode($val['value'], true);
46 | }
47 |
48 | return $rows;
49 | }
50 | }
51 |
52 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseEquipSuit.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseEquipTpl.php:
--------------------------------------------------------------------------------
1 | getsBy(array('type' => 1));
11 | return $row;
12 | }
13 |
14 | /**
15 | * @author huwei
16 | * @return array
17 | */
18 | public function all($all = false) {
19 |
20 | $list = $this->getAll();
21 | $rows = array();
22 | foreach ($list as $val) {
23 | $rows[$val['id']] = $val;
24 | }
25 | return $rows;
26 |
27 | }
28 |
29 |
30 | public function getIdByName($name, $quality) {
31 | $whereArr = array('name' => $name, 'quality' => $quality);
32 | $row = $this->getBy($whereArr);
33 | return $row['id'];
34 | }
35 |
36 | public function getId($needLevel, $pos, $quality) {
37 | $whereArr = array(
38 | 'need_level' => $needLevel,
39 | 'pos' => $pos,
40 | 'quality' => $quality,
41 | );
42 | $row = $this->getBy($whereArr);
43 | return $row['id'];
44 | }
45 |
46 |
47 | }
48 |
49 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseExchange.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseHeroTpl.php:
--------------------------------------------------------------------------------
1 | getBy(array('nickname' => $name));
10 | return $row['id'];
11 | }
12 |
13 | /**
14 | * 获取全部基础军官模板
15 | * @author chenhui on 20110824
16 | * @return array 军官模板数据
17 | */
18 | public function all() {
19 | $list = $this->getAll(array('quality' => 'ASC', 'id' => 'ASC'));
20 | $rows = array();
21 | foreach ($list as $val) {
22 | $rows[$val['id']] = $val;
23 | }
24 | return $rows;
25 |
26 | }
27 |
28 | }
29 |
30 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseMall.php:
--------------------------------------------------------------------------------
1 | getAll(array('sort' => 'ASC', 'id' => 'ASC'));
15 | $rows = array();
16 | foreach ($row as $key => $val) {
17 | $rows[$val['id']] = $val;
18 | }
19 | return $rows;
20 | }
21 |
22 | public function getInfoByName($name) {
23 | $row = $this->getBy(array('name' => $name));
24 | return $row;
25 |
26 | }
27 | }
28 |
29 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseMultiFB.php:
--------------------------------------------------------------------------------
1 | getAll();
10 | foreach ($row as $key => $val) {
11 | $rows[$val['id']] = $val;
12 | }
13 | return $rows;
14 | }
15 | }
16 |
17 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseNpcHero.php:
--------------------------------------------------------------------------------
1 | fetchAll($sql);
11 | return $rows;
12 |
13 | }
14 |
15 | /**
16 | * 获取所有NPC英雄信息
17 | * @author Hejunyun
18 | * @return array
19 | */
20 | public function all() {
21 | $list = $this->getAll();
22 | $rows = array();
23 | foreach ($list as $val) {
24 | $rows[$val['id']] = $val;
25 | }
26 | return $rows;
27 |
28 | }
29 |
30 | public function getInfoByName($nickname) {
31 | $row = $this->fetch(array('nickname' => $nickname));
32 | return $row;
33 |
34 | }
35 |
36 | }
37 |
38 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseNpcTroop.php:
--------------------------------------------------------------------------------
1 | getAll();
20 | $rows = array();
21 | foreach ($list as $val) {
22 | $rows[$val['id']] = $val;
23 | }
24 | return $rows;
25 |
26 | }
27 |
28 | /**
29 | * 获取所有副本NPC
30 | */
31 | public function getAllFbNpc() {
32 | $rows = $this->getsBy(array('type' => M_NPC::FB_NPC));
33 | return $rows;
34 |
35 | }
36 |
37 | /**
38 | * 获取所有野外NPC
39 | */
40 | public function getAllMapNpc() {
41 | $rows = $this->getsBy(array('type' => array('<', M_NPC::FB_NPC)));
42 | return $rows;
43 |
44 | }
45 |
46 | }
47 |
48 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseProbe.php:
--------------------------------------------------------------------------------
1 | getAll();
13 | foreach ($rows as $val) {
14 | $row[$val['id']] = $val;
15 | }
16 | return $row;
17 | }
18 | }
--------------------------------------------------------------------------------
/srv/Q/BaseProps.php:
--------------------------------------------------------------------------------
1 | getAll(array('sort' => 'ASC', 'id' => 'ASC'));
15 | foreach ($row as $key => $val) {
16 | $rows[$val['id']] = $val;
17 | }
18 | return $rows;
19 | }
20 |
21 | public function getInfoByName($name) {
22 | $row = $obj->getBy(array('name' => $name));
23 | return $row;
24 |
25 | }
26 | }
27 |
28 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseQqShare.php:
--------------------------------------------------------------------------------
1 | getAll();
10 | foreach ($list as $val) {
11 | $rows[$val['id']] = $val;
12 | }
13 | return $rows;
14 | }
15 |
16 | }
17 |
18 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseQuest.php:
--------------------------------------------------------------------------------
1 | getAll(array('id'=>'ASC'));
10 | foreach ($list as $val) {
11 | $rows[$val['id']] = $val;
12 | }
13 | return $rows;
14 | }
15 | }
16 |
17 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseQuestion.php:
--------------------------------------------------------------------------------
1 | getAll();
10 | foreach ($list as $val) {
11 | $rows[$val['id']] = $val;
12 | }
13 | return $rows;
14 | }
15 | }
16 |
17 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseSkill.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseTask.php:
--------------------------------------------------------------------------------
1 | getAll(array('sort' => 'ASC', 'id' => 'ASC'));
15 | foreach ($row as $key => $val) {
16 | $rows[$val['id']] = $val;
17 | }
18 | return $rows;
19 | }
20 | }
21 |
22 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseTech.php:
--------------------------------------------------------------------------------
1 | get($id);
10 | $row['upg'] = $this->getUpgInfoById($id);
11 | return $row;
12 |
13 | }
14 |
15 | /**
16 | * 获取所有科技基础信息
17 | * @author chenhui on 20110413
18 | * @return array 科技基础信息(二维数组)
19 | */
20 | public function all() {
21 | $row = $this->getAll();
22 | foreach ($row as $key => $val) {
23 | $rows[$val['id']] = $val;
24 | $rows[$val['id']]['upg'] = $this->getUpgInfoById($val['id']);
25 | }
26 | return $rows;
27 |
28 | }
29 |
30 | public function getUpgInfoById($techId) {
31 | $techId = intval($techId);
32 | $row = B_DB::instance('BaseTechAttr')->getsBy(array('tech_id' => $techId));
33 | foreach ($row as $val) {
34 | $val['need_build'] = B_Utils::kv2vv(json_decode($val['need_build'], true));
35 | $val['need_tech'] = B_Utils::kv2vv(json_decode($val['need_tech'], true));
36 |
37 | $rows[$val['level']] = $val;
38 | }
39 | return $rows;
40 |
41 | }
42 | }
43 |
44 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseTechAttr.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseWarFB.php:
--------------------------------------------------------------------------------
1 | getsBy(array('chapter_no' => $chapter_no));
17 | return $rows;
18 |
19 | }
20 |
21 | /**
22 | * 获取副本数据
23 | * @author huwei
24 | * @param int $chapterNo 章节编号
25 | * @param int $campaignNo 战役编号
26 | * @return int
27 | */
28 | public function getInfoByCC($chapterNo, $campaignNo) {
29 | $row = $this->getsBy(array('campaign_no' => $campaignNo, 'chapter_no' => $chapterNo));
30 | return $row;
31 |
32 | }
33 |
34 | }
35 |
36 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseWarFbChapter.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseWarMapCell.php:
--------------------------------------------------------------------------------
1 | getAll();
15 | $data = array();
16 | foreach ($rows as $k => $v) {
17 | $data[$v['id']] = $v;
18 | }
19 | return $data;
20 |
21 | }
22 |
23 |
24 | }
25 |
26 | ?>
--------------------------------------------------------------------------------
/srv/Q/BaseWarMapData.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/BaseWeapon.php:
--------------------------------------------------------------------------------
1 | getAll(array('sort' => 'ASC'));
17 | foreach ($row as $key => $val) {
18 | $val['need_tech'] = !empty($val['need_tech']) ? B_Utils::kv2vv(json_decode($val['need_tech'], true)) : array();
19 | $val['need_build'] = !empty($val['need_build']) ? B_Utils::kv2vv(json_decode($val['need_build'], true)) : array();
20 | $rows[$val['id']] = $val;
21 | }
22 | return $rows;
23 |
24 | }
25 |
26 | public function getInfoByName($name) {
27 | $row = $this->getBy(array('name' => $name));
28 | return $row;
29 |
30 | }
31 |
32 | /**
33 | * 获取所有NPC武器基础信息
34 | * @author Hejunyun
35 | * @return array 武器基础信息(二维数组)
36 | */
37 | public function getNpcList() {
38 | $rows = $this->getsBy(array('is_npc' => 1));
39 | return $rows;
40 | }
41 |
42 | }
43 |
44 | ?>
--------------------------------------------------------------------------------
/srv/Q/Campaign.php:
--------------------------------------------------------------------------------
1 | getBy(array('id' => intval($id)));
16 |
17 | if (!empty($row)) {
18 | return $row;
19 | } else {
20 | $no = json_encode(array(0, array(0, 0, 0)));
21 | $rowInfo = array(
22 | 'id' => $id,
23 | 'owner_union_id' => 0,
24 | 'join_union_ids' => '[]',
25 | 'no_11' => $no,
26 | 'no_12' => $no,
27 | 'no_13' => $no,
28 | 'no_14' => $no,
29 | 'no_15' => $no,
30 | 'no_16' => $no,
31 | 'no_21' => $no,
32 | 'no_22' => $no,
33 | 'no_23' => $no,
34 | 'no_31' => $no,
35 | 'no_32' => $no,
36 | 'no_41' => $no,
37 | );
38 |
39 | return $this->insert($rowInfo);
40 | }
41 | }
42 |
43 |
44 | /**
45 | * 根据据点ID 更新据点信息
46 | * @author huwei on 20120321
47 | * @param int id 城市ID
48 | * @param array $updInfo 要更新的键值对数组
49 | * @return bool true/false
50 | */
51 | public function updateInfo($id, $updInfo) {
52 | $ret = $this->update($updInfo, $id);
53 | return $ret;
54 | }
55 | }
56 |
57 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityBreakout.php:
--------------------------------------------------------------------------------
1 | get($cityId);
18 |
19 | if (!empty($row)) {
20 | return $row;
21 | } else {
22 | $nowtime = time();
23 | $bout_times_cost = M_Config::getVal('bout_times_cost');
24 | $breakoutInfo = array(
25 | 'city_id' => $cityId,
26 | 'breakout_date' => date('Ymd'),
27 | 'free_times_left' => $bout_times_cost[0],
28 | 'buy_times_left' => 0,
29 | 'buy_times' => 0,
30 | 'breakout_pass' => '1',
31 | 'breakout_data' => '[]',
32 | 'breakout_cd' => '0_1',
33 | 'battle_id' => 0,
34 | 'point' => 0,
35 | 'create_at' => $nowtime,
36 | 'sys_sync_time' => $nowtime,
37 | );
38 | $initRet = $this->insert($breakoutInfo);
39 | if ($initRet) {
40 | return $breakoutInfo;
41 | } else {
42 | return false;
43 | }
44 | }
45 | }
46 |
47 |
48 | public function getRankByPoint($limit = 10) {
49 | $sql = "SELECT city_id, point FROM city_breakout order by point DESC limit 0, {$limit} ";
50 | $rows = $this->fetchAll($sql);
51 | return $rows;
52 |
53 | }
54 |
55 | }
56 |
57 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityCollege.php:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/srv/Q/CityColony.php:
--------------------------------------------------------------------------------
1 | 0) {
18 | $row = $this->get($cityId);
19 |
20 | if (!empty($row)) {
21 | return $row;
22 | } else {
23 | $row = array(
24 | 'city_id' => $cityId,
25 | 'rescue_date' => 0,
26 | 'atk_city_id' => 0,
27 | 'atk_march_id' => 0,
28 | 'hold_time' => 0,
29 | 'colony_city' => '',
30 | 'rescue_num' => 0,
31 | );
32 | $bSucc = $this->insert($row);
33 | if (!$bSucc) {
34 | return false;
35 | }
36 | }
37 |
38 | }
39 | return $row;
40 | }
41 |
42 |
43 | }
44 |
45 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityEquip.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/CityExtra.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/CityItem.php:
--------------------------------------------------------------------------------
1 | getsBy(array('city_id' => $cityId), array('id' => 'ASC'));
17 | $data = array();
18 | foreach ($rows as $val) {
19 | $data[$val['id']] = $val;
20 | }
21 | return $data;
22 |
23 |
24 | }
25 |
26 |
27 |
28 | /****************以下是pm系统需要***************************************/
29 | /**
30 | * 玩家拥有某道具数量排行
31 | * @author chenhui on 20130118
32 | * @param int $propsId 道具ID
33 | * @param int $cityId 城市ID
34 | * @return array 2D
35 | */
36 | public function getPropsRank($propsId, $cityId) {
37 | $cityId = intval($cityId);
38 | $pid = intval($propsId);
39 | $whereAnd = !empty($cityId) ? " AND i.city_id = {$cityId} " : '';
40 | $sql = "SELECT SUM(i.num) AS num,i.city_id,c.nickname FROM city c LEFT JOIN city_item i ON i.city_id = c.id WHERE i.props_id = {$pid} {$whereAnd} GROUP BY i.city_id ORDER BY num DESC LIMIT 100";
41 | $rows = $this->fetchAll($sql);
42 | return $rows;
43 |
44 | }
45 |
46 | }
47 |
48 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityLottery.php:
--------------------------------------------------------------------------------
1 | get($cityId);
16 |
17 | if (empty($row['city_id'])) {
18 | $row = array(
19 | 'city_id' => $cityId,
20 | 'refresh_date' => date('Ymd'),
21 | 'refresh_num' => 0,
22 | 'award_content' => '[]',
23 | 'award_no' => 0,
24 | );
25 | $bSucc = $this->insert($row);
26 | if (!$bSucc) {
27 | return false;
28 | }
29 | }
30 | return $row;
31 | }
32 |
33 | }
34 |
35 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityMultiFB.php:
--------------------------------------------------------------------------------
1 | get($cityId);
10 | if (empty($row)) {
11 | $fieldArr = array(
12 | 'city_id' => $cityId,
13 | 'daily_date' => '',
14 | 'daily_free_times' => 0,
15 | 'daily_buy_times' => 0,
16 | 'left_buy_times' => 0,
17 | 'team_id' => 0,
18 | 'sys_sync_time' => 0,
19 | );
20 |
21 | $ret = $this->insert($fieldArr);
22 | $row = $ret ? $fieldArr : false;
23 | }
24 |
25 | return $row;
26 | }
27 |
28 | }
29 |
30 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityQqShare.php:
--------------------------------------------------------------------------------
1 | get($cityId);
16 | if (empty($row['city_id'])) {
17 | $row = array(
18 | 'city_id' => $cityId,
19 | 'complete_txt' => '', //array(完成状态,完成条件,完成数)
20 | );
21 | $bSucc = $this->insert($row);
22 | if (!$bSucc) {
23 | return false;
24 | }
25 | }
26 | return $row;
27 | }
28 |
29 | }
30 |
31 | ?>
--------------------------------------------------------------------------------
/srv/Q/CityTask.php:
--------------------------------------------------------------------------------
1 | get($city_id);
16 |
17 | if (!empty($row)) {
18 | return $row;
19 | } else {
20 | $taskInfo = array(
21 | 'city_id' => $city_id,
22 | 'tasks_ok' => '[]',
23 | 'tasks_end' => '[]',
24 | 'tasks_daily_ok' => '[]',
25 | 'tasks_daily_end' => '[]',
26 | 'daily_date' => '',
27 | 'drama_end' => '[]',
28 | 'create_at' => time()
29 | );
30 | $initRet = $this->insert($taskInfo);
31 | if ($initRet) {
32 | return $taskInfo;
33 | } else {
34 | return false;
35 | }
36 | }
37 | }
38 | }
39 |
40 | ?>
--------------------------------------------------------------------------------
/srv/Q/FbPass.php:
--------------------------------------------------------------------------------
1 | get($fbNo);
16 | if (empty($rows)) {
17 | $rows = array(
18 | 'fb_no' => $fbNo,
19 | 'recently_passed' => json_encode(array()),
20 | 'first_passed' => json_encode(array()),
21 | 'loss_least' => json_encode(array()),
22 | 'level_lowest' => json_encode(array()),
23 | );
24 | $ret = $this->insert($rows);
25 | }
26 | return $rows;
27 | }
28 |
29 | /**
30 | * 获取战役排行
31 | * @author duhuihui
32 | * @return array
33 | */
34 | public function all() {
35 | $rows = $this->getAll();
36 | $row = array();
37 | foreach ($rows as $key => $val) {
38 | $row[$val['fb_no']] = $val;
39 | }
40 | return $row;
41 | }
42 |
43 |
44 | }
45 |
46 | ?>
--------------------------------------------------------------------------------
/srv/Q/LogCoin.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/LogOp.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/Map.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/Message.php:
--------------------------------------------------------------------------------
1 | getsBy(array('owner' => $ownerId, 'status' => M_Message::MSG_UNDEL));
14 | return $rows;
15 | }
16 |
17 | /**
18 | * 获取某玩家所有发送的信息
19 | * @author chenhui on 20110728
20 | * @param int sender 发送者cityId
21 | * @return array 相应信息(二维数组)
22 | */
23 | public function getAllBySender($sender) {
24 | $row = $this->getsBy(array('sender' => $sender));
25 | return $row;
26 | }
27 | }
28 |
29 | ?>
--------------------------------------------------------------------------------
/srv/Q/ServerCompensate.php:
--------------------------------------------------------------------------------
1 | getAll();
15 | $row = array();
16 | foreach ($rows as $key => $val) {
17 | $row[$val['id']] = $val;
18 | }
19 | return $row;
20 | }
21 |
22 | }
23 |
24 | ?>
--------------------------------------------------------------------------------
/srv/Q/ServerConfig.php:
--------------------------------------------------------------------------------
1 | insert($info);
17 | return $id;
18 | }
19 |
20 | /**
21 | * 更新服务器配置
22 | * @param string $key
23 | * @param string $val
24 | * @return bool true/false
25 | */
26 | public function set($key, $val) {
27 | $info['value'] = $val;
28 | $ret = $this->updateBy($info, array('name'=>$key));
29 | return $ret;
30 |
31 | }
32 |
33 | /**
34 | * 获取配置
35 | * @return array
36 | */
37 | public function all() {
38 | $list = $this->getAll();
39 | $rows = array();
40 | foreach ($list as $val) {
41 | $rows[$val['name']] = json_decode($val['value'], true);
42 | }
43 |
44 | return $rows;
45 | }
46 | }
47 |
48 | ?>
--------------------------------------------------------------------------------
/srv/Q/ServerNews.php:
--------------------------------------------------------------------------------
1 | getAll();
15 | $row = array();
16 | foreach ($rows as $key => $val) {
17 | $row[$val['id']] = $val;
18 | }
19 | return $row;
20 |
21 | }
22 |
23 |
24 | }
25 |
26 | ?>
--------------------------------------------------------------------------------
/srv/Q/ServerNotice.php:
--------------------------------------------------------------------------------
1 | getsBy(array('type' => array('>', 0)), array('sord' => 'DESC', 'create_at' => 'ASC'));
17 | return $data;
18 | }
19 |
20 |
21 | }
22 |
23 | ?>
--------------------------------------------------------------------------------
/srv/Q/StatsLogCityBuild.php:
--------------------------------------------------------------------------------
1 | prepare($sql);
13 | $ret = $sth->execute();
14 | $rows = $sth->fetchAll();
15 | if (!$ret) {
16 | Logger::db(__METHOD__, $sth->errorInfo(), func_get_args());
17 | return false;
18 | }
19 | return $rows;
20 | }
21 |
22 | }
23 |
24 | ?>
--------------------------------------------------------------------------------
/srv/Q/TeamMultiFb.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/WarMarch.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/Q/WarReport.php:
--------------------------------------------------------------------------------
1 | M_War::DEL_ATK,
21 | 'def_city_id' => M_War::DEL_DEF,
22 | );
23 | if (isset($reportNum[$attOrDef]) && !empty($cityId)) {
24 | $start = microtime();
25 |
26 | $subwhere = ($type != 2) ? " AND LENGTH(replay_address) > 0 " : '';
27 |
28 | $sql = 'SELECT * FROM %s WHERE %s=%d ' . $subwhere . ' AND type = %d AND (flag_del & %d = 0) ORDER BY id ASC';
29 | $sql = sprintf($sql, $this->_name, $attOrDef, $cityId, $type, $reportNum[$attOrDef]);
30 |
31 | $data = $this->fetchAll($sql);
32 |
33 | $diff = microtime() - $start;
34 | if ($diff > 0.1) {
35 | Logger::debug(array(__METHOD__, $diff, $sql));
36 | }
37 |
38 | }
39 | return $data;
40 | }
41 |
42 | /**
43 | * 清除过期的战报日志
44 | * @param int $t
45 | * @return boolean
46 | */
47 | public function cleanExpireData($t) {
48 | $ret = 0;
49 | if ($t) {
50 | $ret = $this->deleteBy(array('create_at' => array('<', $t)));
51 | }
52 | return $ret;
53 | }
54 |
55 | }
56 |
57 | ?>
--------------------------------------------------------------------------------
/srv/Q/WildMap.php:
--------------------------------------------------------------------------------
1 | count(array('type' => T_Map::WILD_MAP_CELL_NPC, 'npc_id' => $npcId));
12 | }
13 | return $num;
14 | }
15 |
16 | public function clean($zone, $npcId) {
17 | if (empty($npcId)) {
18 | return false;
19 | }
20 |
21 | if ($zone == 1) {
22 | $where = "pos_no < 2000000";
23 | } else if ($zone == 3) {
24 | $where = "pos_no > 3000000";
25 | } else {
26 | $where = "pos_no > 2000000 AND pos_no < 3000000";
27 | }
28 |
29 | $sql = "DELETE FROM wild_map WHERE {$where} AND npc_id={$npcId}";
30 |
31 | return $this->execute($sql, array(), true);;
32 | }
33 |
34 | public function total($zone) {
35 | if ($zone == 1) {
36 | $where = "pos_no < 2000000";
37 | } else if ($zone == 3) {
38 | $where = "pos_no > 3000000";
39 | } else {
40 | $where = "pos_no > 2000000 AND pos_no < 3000000";
41 | }
42 |
43 | $sql = "SELECT count(pos_no) as num FROM wild_map WHERE {$where}";
44 | $rows = $this->fetch($sql);
45 | return $rows['num'];
46 | }
47 | }
48 |
49 | ?>
--------------------------------------------------------------------------------
/srv/T/Build.php:
--------------------------------------------------------------------------------
1 | array(1, 1),
8 | 4 => array(1, 2),
9 | 5 => array(1, 3),
10 | 6 => array(1, 4),
11 | 7 => array(1, 5),
12 | 8 => array(1, 6),
13 | 9 => array(1, 7),
14 | 10 => array(1, 8),
15 |
16 | 11 => array(2, 2),
17 | 12 => array(2, 4),
18 | 13 => array(2, 6),
19 | 14 => array(2, 8),
20 | 15 => array(3, 9),
21 |
22 |
23 | 16 => array(3, 2),
24 | 17 => array(3, 4),
25 | 18 => array(3, 6),
26 | 19 => array(3, 8),
27 | 20 => array(3, 10),
28 |
29 |
30 | 21 => array(4, 2),
31 | 22 => array(4, 4),
32 | 23 => array(4, 6),
33 | 24 => array(4, 8),
34 | 25 => array(4, 10),
35 |
36 |
37 | 26 => array(5, 2),
38 | 27 => array(5, 4),
39 | 28 => array(5, 6),
40 | 29 => array(5, 8),
41 | 30 => array(5, 10),
42 |
43 |
44 | 31 => array(6, 2),
45 | 32 => array(6, 4),
46 | 33 => array(6, 6),
47 | 34 => array(6, 8),
48 | 35 => array(6, 10),
49 |
50 | 36 => array(7, 2),
51 | 37 => array(7, 4),
52 | 38 => array(7, 6),
53 | 39 => array(7, 8),
54 | 40 => array(7, 10),
55 |
56 |
57 | 41 => array(8, 2),
58 | 42 => array(8, 4),
59 | 43 => array(8, 6),
60 | 44 => array(8, 8),
61 | 45 => array(8, 10),
62 |
63 | 46 => array(9, 2),
64 | 47 => array(9, 4),
65 | 48 => array(9, 6),
66 | 49 => array(9, 8),
67 | 50 => array(9, 10),
68 | );
69 | }
--------------------------------------------------------------------------------
/srv/T/Chat.php:
--------------------------------------------------------------------------------
1 | '世界',
26 | self::CHAT_UNION => '联盟',
27 | self::CHAT_WAR => '战场',
28 | self::CHAT_OWNER => '私人',
29 | self::CHAT_SYS => '系统',
30 | self::CHAT_TEAM => '队伍',
31 | self::CHAT_CITY_RADIO => '玩家广播',
32 | self::CHAT_SYS_RADIO => '系统广播',
33 | );
34 |
35 | /** 能取到记录的最小时间段(秒) */
36 | const CHAT_MIN_TIME = 30;
37 |
38 | /** 广播停留时间 **/
39 | const SYS_RADIO_STAY_TIME = 5;
40 | /** 广播优先级 **/
41 | const SYS_RADIO_PRIO = 0;
42 |
43 | /** 广播消耗军饷 */
44 | const RADIO_COST = 20;
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/srv/T/Map.php:
--------------------------------------------------------------------------------
1 | '空地',
18 | self::WILD_MAP_CELL_SCENIC => '地貌',
19 | self::WILD_MAP_CELL_CITY => '玩家城市',
20 | self::WILD_MAP_CELL_NPC => 'NPC城市',
21 | self::WILD_MAP_CELL_CAMP => '据点',
22 | );
23 |
24 | }
25 |
26 | ?>
--------------------------------------------------------------------------------
/srv/T/Props.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/srv/T/Word.php:
--------------------------------------------------------------------------------
1 | '清除建筑CD',
7 | 2 => '清除科技CD',
8 | 3 => '清除武器CD',
9 | 4 => '军官更名',
10 | 5 => '军官洗点',
11 | 6 => '寻将',
12 | 7 => '开启武器槽',
13 | 8 => '军官复活',
14 | 9 => '增加建筑队列',
15 | 10 => '遗忘技能',
16 | 11 => '购买道具',
17 | 12 => '刷新学院',
18 | 13 => 'VIP购买活力',
19 | 14 => '购买VIP资源包',
20 | 15 => '购买VIP功能',
21 | 16 => 'VIP减少出征时间',
22 | 17 => '军团升级',
23 | 18 => '学习技能',
24 | 19 => '拍卖行保管费',
25 | 20 => '拍卖行购买',
26 | 21 => '拍卖行竞价',
27 | 22 => '玩家改名',
28 | 23 => '购买军令',
29 | 24 => '清除副本CD时间',
30 | 25 => '购买野地权限',
31 | 26 => '装备升级 ',
32 | 27 => '培养军官 ',
33 | 28 => '全服广播',
34 | 29 => '尝试招募 ',
35 | 30 => '抽奖 ',
36 | 31 => '购买商品 ',
37 | 32 => '军官兑换 ',
38 | 33 => '清除解救CD时间',
39 | 34 => '购买突围次数',
40 | 35 => '购买多人副本次数',
41 | 36 => '购买多人副本加成',
42 | 37 => '清除突围CD时间',
43 | 38 => '跑马系统投注',
44 | 39 => '跑马系统打气',
45 | 40 => '兑换',
46 | );
47 |
48 | /** 白1, 绿2, 蓝3, 紫4, 红5, 金6*/
49 | static $EQUIP_QUAL = array(
50 | T_Equip::EQUIP_WHITE => '白',
51 | T_Equip::EQUIP_GREEEN => '绿',
52 | T_Equip::EQUIP_BLUE => '蓝',
53 | T_Equip::EQUIP_PURPLE => '紫',
54 | T_Equip::EQUIP_RED => '红',
55 | T_Equip::EQUIP_GOLD => '金',
56 | );
57 |
58 | /** 装备名称 */
59 | static $EQUIP_NAME = array(
60 | 1 => '少尉',
61 | 10 => '中尉',
62 | 20 => '上尉',
63 | 30 => '少校',
64 | 40 => '中校',
65 | 50 => '上校',
66 | 60 => '少将',
67 | 70 => '中将',
68 | 80 => '上将',
69 | 90 => '元帅',
70 | );
71 |
72 | /** 装备位置 */
73 | static $EQUIP_POS = array(
74 | T_Equip::EQUIP_HAT => '军帽',
75 | T_Equip::EQUIP_UNIFORM => '军服',
76 | T_Equip::EQUIP_WEAPON => '手枪',
77 | T_Equip::EQUIP_MEDAL => '军徽',
78 | T_Equip::EQUIP_SHOES => '军靴',
79 | T_Equip::EQUIP_SIT => '座驾',
80 | );
81 | }
82 |
83 | ?>
--------------------------------------------------------------------------------
/srv/v/layout.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/srv/v/report.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/www/adm.php:
--------------------------------------------------------------------------------
1 | FILTER_SANITIZE_STRING,
23 | );
24 |
25 | $formVals = filter_var_array($_REQUEST, $args);
26 |
27 | $c = $a = 'Index';
28 |
29 | if (!empty($formVals['r'])) {
30 | $arr = explode('/', $formVals['r']);
31 | $c = isset($arr[0]) ? trim($arr[0]) : '';
32 | $a = isset($arr[1]) ? trim($arr[1]) : '';
33 | }
34 |
35 | $c = !empty($c) ? ucfirst($c) : 'Index';
36 | $a = !empty($a) ? ucfirst($a) : 'Index';
37 |
38 | if (isset($_REQUEST['r'])) {
39 | unset($_REQUEST['r']);
40 | }
41 |
42 | $params = array();
43 | foreach ($_REQUEST as $val) {
44 | $params[] = filter_var($val, FILTER_SANITIZE_STRING);
45 | }
46 |
47 |
48 | require_once ADM_PATH . "/c/{$c}.php";
49 | $c = 'C_' . $c;
50 | $a = 'A' . $a;
51 | if (!method_exists($c, $a)) {
52 | Logger::debug("404 Not Found [{$c}::{$a}]");
53 | Logger::halt('Err06');
54 | } else {
55 | if (method_exists($c, 'AInit')) {
56 | call_user_func_array(array($c, 'AInit'), array());
57 | }
58 | $data = call_user_func_array(array($c, $a), $params);
59 | $ret = B_Common::outData($c, $a, $data);
60 | return $ret;
61 | }
62 | ?>
--------------------------------------------------------------------------------
/www/api.php:
--------------------------------------------------------------------------------
1 | FILTER_SANITIZE_STRING,
16 | 'a' => FILTER_SANITIZE_STRING,
17 | 'auth' => FILTER_SANITIZE_STRING,
18 | );
19 |
20 | $formVals = filter_var_array($_REQUEST, $args);
21 | $params = array();
22 | $ret = array('err' => -1, 'data' => "err args:[{$formVals['c']}|{$formVals['a']}]");
23 | if (!empty($formVals['m']) && !empty($formVals['a'])) {
24 | $file = CORE_PATH . '/Api/' . str_replace('_', '/', $formVals['m']) . '.php';
25 | if (file_exists($file)) {
26 | $hash = md5($formVals['m'] . '|' . $formVals['a'] . '|' . M_Config::getSvrCfg('server_api_key'));
27 | if ($hash == $formVals['auth']) {
28 | require_once($file);
29 | $params = !empty($_REQUEST['params']) ? json_decode($_REQUEST['params'], true) : array();
30 | $func = array('A_' . $formVals['m'], $formVals['a']);
31 | // Logger::debug(array(__METHOD__,$formVals['params'] ));
32 | $data = call_user_func_array($func, array($params));
33 |
34 | $ret = array('err' => 0, 'data' => $data);
35 | } else {
36 | $ret = array('err' => -3, 'data' => "err auth:{$hash}");
37 | }
38 | } else {
39 | $ret = array('err' => -2, 'data' => "err file:{$file}");
40 | }
41 | }
42 |
43 |
44 | $eTime = microtime(1);
45 | $diff = $sTime - $eTime;
46 |
47 | $ret['debug'] = array('cost_time' => sprintf('%.3f', $diff), 'params' => $formVals);
48 | echo json_encode($ret);
49 | exit;
50 |
51 | ?>
--------------------------------------------------------------------------------
/www/call.php:
--------------------------------------------------------------------------------
1 | setClassPath($sysLibPath);
18 | $gateway->setCharsetHandler("none", "utf8", "utf8");
19 | $gateway->setErrorHandling(1);
20 |
21 | //Disable profiling, remote tracing, and service browser
22 | $gateway->disableDebug();
23 | // Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections.
24 | $gateway->disableStandalonePlayer();
25 |
26 | //Explicitly disable the native extension if it is installed
27 | //$gateway->disableNativeExtension();
28 |
29 | //Enable gzip compression of output if zlib is available,
30 | //beyond a certain byte size threshold
31 | $gateway->enableGzipCompression(25 * 1024);
32 |
33 | //Service now
34 | $gateway->service();
35 | $eTime = microtime(1);
36 |
37 | $tmpDiff = sprintf('%.3f', ($eTime - $sTime));
38 | $body = $gateway->getBody();
39 | $reqNo = $body->_value[0] . $body->_value[1];
40 | M_Stats::setReqNo($reqNo, $tmpDiff);
41 |
42 | if ($tmpDiff > T_App::METHOD_EXEC_TIME) {
43 | Logger::perform("Time#" . $tmpDiff . " => " . implode('|', $body->_value));
44 | }
45 | ?>
--------------------------------------------------------------------------------
/www/common.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/crossdomain.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/www/login.php:
--------------------------------------------------------------------------------
1 | FILTER_SANITIZE_STRING,
8 | 'oid' => FILTER_SANITIZE_NUMBER_INT,
9 | 'sid' => FILTER_SANITIZE_STRING,
10 | 't' => FILTER_SANITIZE_NUMBER_INT,
11 | 'sign' => FILTER_SANITIZE_STRING,
12 | 'adult' => FILTER_SANITIZE_NUMBER_INT,
13 | );
14 |
15 | $formVals = filter_var_array($_REQUEST, $args);
16 |
17 | header('Content-Type:application/json;charset=utf-8');
18 |
19 | if (empty($formVals['name']) ||
20 | empty($formVals['oid']) ||
21 | empty($formVals['sid']) ||
22 | empty($formVals['t']) ||
23 | empty($formVals['sign'])
24 | ) {
25 | echo json_encode(array('ret' => -1, 'err' => 'args'));
26 | exit;
27 | }
28 |
29 | $difftime = time() - strtotime($formVals['t']);
30 | if (abs($difftime) > 900) {
31 | echo json_encode(array('ret' => -1, 'err' => 't'));
32 | exit;
33 | }
34 |
35 |
36 | $opInfo = M_Consumer::getById($formVals['oid']);
37 | if (empty($opInfo['id'])) {
38 | echo json_encode(array('ret' => -1, 'err' => 'oid'));
39 | exit;
40 | }
41 |
42 | $key = $opInfo['key'];
43 | $sign = md5("{$formVals['oid']}&{$key}&{$formVals['name']}&{$formVals['sid']}&{$formVals['t']}");
44 | if ($sign != strtolower($formVals['sign'])) {
45 | echo json_encode(array('ret' => -1, 'err' => 'sign'));
46 | exit;
47 | }
48 |
49 | $maintenance = M_Config::getSvrCfg('maintenance');
50 | $now = time();
51 | $m_start = strtotime($maintenance['start']);
52 | $m_end = strtotime($maintenance['end']);
53 | if (($m_start <= $m_end) && ($m_start < $now) && ($m_end > $now)) {
54 | echo json_encode(array('ret' => 1, 'err' => $maintenance['msg']));
55 | exit;
56 | }
57 |
58 | M_Auth::render($formVals['name'],$formVals['oid'],$formVals['sid']);
--------------------------------------------------------------------------------
/www/qq/QqLive.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/styles/adm/css/images/buttons.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/images/buttons.gif
--------------------------------------------------------------------------------
/www/styles/adm/css/images/toolbar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/images/toolbar.gif
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_flat_55_999999_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_flat_55_999999_40x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_glass_45_0078ae_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_45_0078ae_1x400.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_glass_55_f8da4e_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_55_f8da4e_1x400.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_glass_75_79c9ec_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_75_79c9ec_1x400.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_0078ae_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_0078ae_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_056b93_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_056b93_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_d8e7f3_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_d8e7f3_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_e0fdff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_e0fdff_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_f5e175_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_f5e175_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_f7a50d_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_f7a50d_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/css/start/images/ui-icons_fcd113_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_fcd113_256x240.png
--------------------------------------------------------------------------------
/www/styles/adm/images/add-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/add-icon.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/adm_flash/BattlerCopyScene.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/BattlerCopyScene.swf
--------------------------------------------------------------------------------
/www/styles/adm/images/adm_flash/build_editor.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/build_editor.swf
--------------------------------------------------------------------------------
/www/styles/adm/images/adm_flash/builds.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/builds.swf
--------------------------------------------------------------------------------
/www/styles/adm/images/adm_flash/city_map_editor.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/city_map_editor.swf
--------------------------------------------------------------------------------
/www/styles/adm/images/adm_flash/war_map_editor.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/war_map_editor.swf
--------------------------------------------------------------------------------
/www/styles/adm/images/arrow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/arrow.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/bg-center-column.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/bg-center-column.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/del-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/del-icon.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/edit-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/edit-icon.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/hr.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/hr.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/login-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/login-icon.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/logo.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/save-icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/save-icon.gif
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/1.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/10.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/11.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/12.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/13.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/14.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/15.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/16.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/17.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/18.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/19.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/2.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/20.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/21.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/3.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/4.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/5.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/6.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/7.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/8.jpg
--------------------------------------------------------------------------------
/www/styles/adm/images/war_map_cell/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/9.jpg
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/config.js:
--------------------------------------------------------------------------------
1 | var langList =
2 | [
3 | {name: 'en', charset: 'UTF-8'},
4 | {name: 'zh-cn', charset: 'UTF-8'},
5 | {name: 'zh-tw', charset: 'UTF-8'}
6 | ];
7 |
8 | var skinList =
9 | [
10 | {name: 'default', charset: 'UTF-8'},
11 | {name: 'whyGreen', charset: 'UTF-8'}
12 | ];
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/lang/en.js:
--------------------------------------------------------------------------------
1 | var $lang = {
2 | errAlertMsg: "Invalid date or the date out of range,redo or not?",
3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
4 | aLongWeekStr: ["wk", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
6 | aLongMonStr: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
7 | clearStr: "Clear",
8 | todayStr: "Today",
9 | okStr: "OK",
10 | updateStr: "OK",
11 | timeStr: "Time",
12 | quickStr: "Quick Selection",
13 | err_1: 'MinDate Cannot be bigger than MaxDate!'
14 | }
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/lang/zh-cn.js:
--------------------------------------------------------------------------------
1 | var $lang = {
2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
3 | aWeekStr: ["\u5468", "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"],
4 | aLongWeekStr: ["\u5468", "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"],
5 | aMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00", "\u5341\u4E8C"],
6 | aLongMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"],
7 | clearStr: "\u6E05\u7A7A",
8 | todayStr: "\u4ECA\u5929",
9 | okStr: "\u786E\u5B9A",
10 | updateStr: "\u786E\u5B9A",
11 | timeStr: "\u65F6\u95F4",
12 | quickStr: "\u5FEB\u901F\u9009\u62E9",
13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
14 | }
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/lang/zh-tw.js:
--------------------------------------------------------------------------------
1 | var $lang = {
2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?",
3 | aWeekStr: ["\u5468", "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"],
4 | aLongWeekStr: ["\u5468", "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"],
5 | aMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00", "\u5341\u4E8C"],
6 | aLongMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"],
7 | clearStr: "\u6E05\u7A7A",
8 | todayStr: "\u4ECA\u5929",
9 | okStr: "\u78BA\u5B9A",
10 | updateStr: "\u78BA\u5B9A",
11 | timeStr: "\u6642\u9593",
12 | quickStr: "\u5FEB\u901F\u9078\u64C7",
13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!'
14 | }
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/skin/WdatePicker.css:
--------------------------------------------------------------------------------
1 | .Wdate {
2 | border: #999 1px solid;
3 | height: 20px;
4 | background: #fff url(datePicker.gif) no-repeat right;
5 | }
6 |
7 | .WdateFmtErr {
8 | font-weight: bold;
9 | color: red;
10 | }
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/skin/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/datePicker.gif
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/skin/default/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/default/img.gif
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/skin/whyGreen/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/whyGreen/bg.jpg
--------------------------------------------------------------------------------
/www/styles/adm/js/My97DatePicker/skin/whyGreen/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/whyGreen/img.gif
--------------------------------------------------------------------------------
/www/styles/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/bg.jpg
--------------------------------------------------------------------------------
/www/styles/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/loading.gif
--------------------------------------------------------------------------------
/www/styles/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/logo.png
--------------------------------------------------------------------------------
/www/styles/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | background: none repeat scroll 0 0 #000000;
3 | color: #000000;
4 | font-family: tahoma, arial, sans-serif, 宋 体;
5 | font-size: 12px;
6 | margin: 0;
7 | padding: 0;
8 | }
9 |
10 | #game_flash {
11 | max-width: 1400px;
12 | max-height: 900px;
13 | margin: 0 auto;
14 | border: 0px;
15 | width: auto;
16 | height: auto;
17 | width: expression(( document.body.clientWidth > 1400 ? 1400 :
18 | document.body.clientWidth) + "px" );
19 | height: expression(( document.body.clientHeight > 900 ? 900 :
20 | document.body.clientHeight) + "px" );
21 | }
22 |
23 | #page {
24 | margin: 0 auto;
25 | width: 100%;
26 | height: 100%;
27 | text-align: center;
28 | }
--------------------------------------------------------------------------------
/www/testdev.php:
--------------------------------------------------------------------------------
1 | ";
33 | print_r($ret);
34 | echo "";
35 | $eTime = microtime(1);
36 |
37 | $diff = sprintf('%.3f', ($eTime - $sTime));
38 | echo "Cost Time: " . $diff . "
";
39 | $mem = memory_get_peak_usage(true);
40 | echo "Peak mem. usage: " . round($mem / 1024 / 10124, 2) . " MB
";
41 | if ($prof) {
42 | $data = xhprof_disable();
43 |
44 | $XHPROF_ROOT = dirname(__FILE__);
45 | include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_lib.php";
46 | include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_runs.php";
47 |
48 | $xhprof_runs = new XHProfRuns_Default();
49 |
50 | // Save the run under a namespace "xhprof".
51 | $run_id = $xhprof_runs->save_run($data, "xhprof");
52 | echo "view";
53 | }
54 | ?>
--------------------------------------------------------------------------------
/www/tool/auth.php:
--------------------------------------------------------------------------------
1 | 0) {
13 | $validated = true;
14 | }
15 | }
16 | $validated = true;
17 |
18 | if (!$validated) {
19 | $user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
20 | $pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
21 |
22 | $gmuser = array('huv520'=>'654321');
23 | if (isset($gmuser[$user])) {
24 | $expire = $now + 86400;
25 | $authVal = "{$user}|{$expire}|" . md5("{$user}{$expire}{$key}");
26 | setcookie('u', $authVal, $expire, '/');
27 | } else {
28 | header('WWW-Authenticate: Basic realm="dev"');
29 | header('HTTP/1.0 401 Unauthorized');
30 | die ("Not authorized");
31 | }
32 | }
33 | ?>
--------------------------------------------------------------------------------
/www/wait.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 二战
5 |
6 |
7 |
8 |
9 |
33 |
34 |
35 |
36 |
37 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------