ModuleController.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using Central.Control.Domain;
  7. using Ant.Service.Common.Enums;
  8. using Ant.Service.Common;
  9. using MES.Production.Service.IService;
  10. using System.Collections;
  11. using System.Globalization;
  12. using System.Text.RegularExpressions;
  13. using ChangFa.Machinery.WebPage.Controllers;
  14. namespace ChangFa.Machinery.WebPage.Areas.SysManage.Controllers
  15. {
  16. /// <summary>
  17. /// 模块管理
  18. /// </summary>
  19. public class ModuleController : BaseController
  20. {
  21. #region 声明容器
  22. /// <summary>
  23. /// 模块
  24. /// </summary>
  25. IModuleManage ModuleManage { get; set; }
  26. /// <summary>
  27. /// 权限
  28. /// </summary>
  29. IPermissionManage PermissionManage { get; set; }
  30. /// <summary>
  31. /// 系统
  32. /// </summary>
  33. ISystemManage SystemManage { get; set; }
  34. #endregion
  35. /// <summary>
  36. /// 加载主页
  37. /// </summary>
  38. [UserAuthorizeAttribute(ModuleAlias = "Module", OperaAction = "View")]
  39. public ActionResult Index()
  40. {
  41. try
  42. {
  43. #region 处理查询参数
  44. string systems = Request.QueryString["System"];
  45. #endregion
  46. #region 加载列表
  47. var result = BindList(systems);
  48. ViewBag.Search = base.keywords;
  49. ViewData["System"] = systems;
  50. ViewData["Systemlist"] = this.SystemManage.LoadSystemInfo();
  51. #endregion
  52. return View(result);
  53. }
  54. catch(Exception e)
  55. {
  56. WriteLog(enumOperator.Select, "模块管理加载主页:", e);
  57. throw e.InnerException;
  58. }
  59. }
  60. /// <summary>
  61. /// 绑定列表
  62. /// </summary>
  63. private object BindList(string systems)
  64. {
  65. var query = this.ModuleManage.LoadAll(null);
  66. if (!string.IsNullOrEmpty(systems))
  67. {
  68. query = query.Where(p => p.FK_BELONGSYSTEM == systems);
  69. }
  70. //递归排序
  71. var entity = this.ModuleManage.RecursiveModule(query.ToList())
  72. .Select(p => new
  73. {
  74. p.ID,
  75. MODULENAME = GetModuleName(p.NAME, p.LEVELS),
  76. p.ALIAS,
  77. p.MODULEPATH,
  78. p.SHOWORDER,
  79. p.ICON,
  80. MODULETYPE = ((enumModuleType)p.MODULETYPE).ToString(),
  81. ISSHOW = p.ISSHOW == 1 ? "显示" : "隐藏",
  82. p.NAME,
  83. SYSNAME= p.SYS_SYSTEM.NAME,
  84. p.FK_BELONGSYSTEM
  85. });
  86. if (!string.IsNullOrEmpty(base.keywords))
  87. {
  88. entity = entity.Where(p => p.NAME.Contains(keywords));
  89. }
  90. return JsonConverter.JsonClass(entity);
  91. }
  92. /// <summary>
  93. /// 加载详情
  94. /// </summary>
  95. [HttpGet]
  96. [UserAuthorizeAttribute(ModuleAlias = "Module", OperaAction = "Detail")]
  97. public ActionResult Detail(int? id)
  98. {
  99. try
  100. {
  101. var _entity = new SYS_MODULE();
  102. //父模块
  103. string parentId = Request.QueryString["parentId"];
  104. if (!string.IsNullOrEmpty(parentId))
  105. {
  106. _entity.PARENTID = int.Parse(parentId);
  107. }
  108. else
  109. {
  110. _entity.PARENTID = 0;
  111. }
  112. //所属系统
  113. string sys = Request.QueryString["sys"];
  114. if (!string.IsNullOrEmpty(sys))
  115. {
  116. _entity.FK_BELONGSYSTEM = sys;
  117. }
  118. //详情
  119. if (id != null && id > 0)
  120. {
  121. _entity = ModuleManage.Get(p => p.ID == id);
  122. }
  123. ViewData["ModuleType"] = Enum.GetNames(typeof(enumModuleType));
  124. ViewData["Systemlist"] = this.SystemManage.LoadSystemInfo();
  125. return View(_entity);
  126. }
  127. catch(Exception e)
  128. {
  129. WriteLog(enumOperator.Select, "模块管理加载详情", e);
  130. throw e.InnerException;
  131. }
  132. }
  133. /// <summary>
  134. /// 保存模块
  135. /// </summary>
  136. [UserAuthorizeAttribute(ModuleAlias = "Module", OperaAction = "Add,Edit")]
  137. public ActionResult Save(SYS_MODULE entity)
  138. {
  139. bool isEdit = false;
  140. var json = new JsonHelper() { Msg = "保存成功", Status = "n" };
  141. try
  142. {
  143. if (entity != null)
  144. {
  145. //验证
  146. if (!Regex.IsMatch(entity.ALIAS, @"^[A-Za-z0-9]{1,20}$"))
  147. {
  148. json.Msg = "模块别名只能以字母数字组成,长度不能超过20个字符";
  149. return Json(json);
  150. }
  151. var _entity = new SYS_MODULE();
  152. //级别加1,一级模块默认0
  153. if (entity.PARENTID <= 0)
  154. entity.LEVELS = 0;
  155. else
  156. entity.LEVELS = this.ModuleManage.Get(p => p.ID == entity.PARENTID).LEVELS + 1;
  157. entity.ISSHOW = string.IsNullOrEmpty(Request.Form["isshow"]) ? 0 : 1;
  158. entity.ICON = Request.Form["ICON"];
  159. //添加
  160. if (entity.ID <= 0)
  161. {
  162. _entity = entity;
  163. _entity.CREATEDATE = DateTime.Now;
  164. _entity.CREATEUSER = this.CurrentUser.Name;
  165. _entity.UPDATEDATE = DateTime.Now;
  166. _entity.UPDATEUSER = this.CurrentUser.Name;
  167. }
  168. else //修改
  169. {
  170. _entity = this.ModuleManage.Get(p => p.ID == entity.ID);
  171. entity.CREATEDATE = _entity.CREATEDATE;
  172. entity.CREATEUSER = _entity.CREATEUSER;
  173. entity.UPDATEDATE = DateTime.Now;
  174. entity.UPDATEUSER = this.CurrentUser.Name;
  175. _entity = entity;
  176. isEdit = true;
  177. }
  178. //模块别名同系统下不能重复
  179. if (this.ModuleManage.IsExist(p => p.FK_BELONGSYSTEM == siteId && p.ALIAS == _entity.ALIAS && p.ID != _entity.ID))
  180. {
  181. json.Msg = "同系统下模块别名不能重复";
  182. return Json(json);
  183. }
  184. //判断同一个父模块下,是否重名
  185. if (!this.ModuleManage.IsExist(p => p.PARENTID == _entity.PARENTID && p.FK_BELONGSYSTEM == _entity.FK_BELONGSYSTEM && p.NAME == _entity.NAME && p.ID != _entity.ID))
  186. {
  187. if (this.ModuleManage.SaveOrUpdate(_entity, isEdit))
  188. {
  189. //变更下级模块的级别
  190. if (isEdit)
  191. {
  192. this.ModuleManage.MoreModifyModule(_entity.ID, Convert.ToInt32(_entity.LEVELS));
  193. }
  194. json.Status = "y";
  195. }
  196. else
  197. {
  198. json.Msg = "保存失败";
  199. }
  200. }
  201. else
  202. {
  203. json.Msg = "模块" + _entity.NAME + "已存在,不能重复添加";
  204. }
  205. }
  206. else
  207. {
  208. json.Msg = "未找到需要保存的模块";
  209. }
  210. if (isEdit)
  211. {
  212. WriteLog(enumOperator.Edit, "修改模块,结果:" + json.Msg, enumLog4net.INFO);
  213. }
  214. else
  215. {
  216. WriteLog(enumOperator.Add, "添加模块,结果:" + json.Msg, enumLog4net.INFO);
  217. }
  218. }
  219. catch (Exception e)
  220. {
  221. json.Msg = "保存模块发生内部错误!";
  222. WriteLog(enumOperator.None, "保存模块:", e);
  223. }
  224. return Json(json);
  225. }
  226. /// <summary>
  227. /// 删除模块
  228. /// </summary>
  229. [UserAuthorizeAttribute(ModuleAlias = "Module", OperaAction = "Remove")]
  230. public ActionResult Delete(string idList)
  231. {
  232. JsonHelper json = new JsonHelper() { Msg = "删除模块成功", ReUrl = "", Status = "n" };
  233. try
  234. {
  235. if (!string.IsNullOrEmpty(idList))
  236. {
  237. var idlist1 = idList.Trim(',').Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(p => int.Parse(p)).ToList();
  238. //判断权限里面有没有
  239. if (!this.PermissionManage.IsExist(p => idlist1.Any(e => e == p.MODULEID)))
  240. {
  241. //存在子模块与否
  242. if (!this.ModuleManage.IsExist(p => idlist1.Any(e => e == p.PARENTID)))
  243. {
  244. this.ModuleManage.Delete(p => idlist1.Any(e => e == p.ID));
  245. json.Status = "y";
  246. }
  247. else
  248. {
  249. json.Msg = "该模块下有子模块,不能删除";
  250. }
  251. }
  252. else
  253. {
  254. json.Msg = "该模块下有权限节点,不能删除";
  255. }
  256. }
  257. else
  258. {
  259. json.Msg = "未找到要删除的模块";
  260. }
  261. WriteLog(enumOperator.Remove, "删除模块,结果:" + json.Msg, enumLog4net.WARN);
  262. }
  263. catch (Exception e)
  264. {
  265. json.Msg = "删除模块发生内部错误!";
  266. WriteLog(enumOperator.Remove, "删除模块:", e);
  267. }
  268. return Json(json);
  269. }
  270. /// <summary>
  271. /// 图标选择
  272. /// </summary>
  273. public ActionResult ShowIcon()
  274. {
  275. ViewData["icon"] = GetIm();
  276. return View();
  277. }
  278. #region 帮助方法及其他控制器调用
  279. /// <summary>
  280. /// 显示错层方法
  281. /// </summary>
  282. private object GetModuleName(string name, decimal? level)
  283. {
  284. if (level > 0)
  285. {
  286. string nbsp = "&nbsp;&nbsp;";
  287. for (int i = 0; i < level; i++)
  288. {
  289. nbsp += "&nbsp;&nbsp;";
  290. }
  291. name = nbsp + " |--" + name;
  292. }
  293. return name;
  294. }
  295. /// <summary>
  296. /// 获取父级列表
  297. /// </summary>
  298. public object GetModuleByDetail(string sysid)
  299. {
  300. var list = this.ModuleManage.RecursiveModule(this.ModuleManage.LoadAll(p => p.FK_BELONGSYSTEM == sysid).ToList())
  301. .Select(p => new
  302. {
  303. ID = p.ID,
  304. NAME = GetModuleName(p.NAME, p.LEVELS)
  305. }).ToList();
  306. return list;
  307. }
  308. /// <summary>
  309. /// 获取模块树形菜单
  310. /// </summary>
  311. public string GetTree()
  312. {
  313. //系统ID
  314. var sysId = Request.Form["sysId"];
  315. if (string.IsNullOrEmpty(sysId))
  316. {
  317. //默认主系统
  318. sysId = siteId;
  319. }
  320. JsonHelper json = new JsonHelper() { Msg = "Success", Status = "y" };
  321. try
  322. {
  323. var query = this.ModuleManage.LoadAll(p => p.ISSHOW == 1 && p.FK_BELONGSYSTEM == sysId).OrderBy(p => p.SHOWORDER).ToList();
  324. var result = query.Select(m => new
  325. {
  326. id = m.ID,
  327. pId = m.PARENTID,
  328. name = m.NAME,
  329. open = true,
  330. target = "DeployBase",
  331. url = "/Sys/Permission/Index?moduleId=" + m.ID.ToString(CultureInfo.InvariantCulture)
  332. }).ToList();
  333. json.Data = result;
  334. }
  335. catch (Exception e)
  336. {
  337. json.Status = "Error";
  338. json.Msg = e.Message.ToString();
  339. }
  340. return JsonConverter.Serialize(json, true);
  341. }
  342. /// <summary>
  343. /// 根据系统查找父级模块
  344. /// </summary>
  345. public ActionResult FindParnetModule()
  346. {
  347. var sys = Request.Form["s"];
  348. if (!string.IsNullOrEmpty(sys))
  349. {
  350. return Json(GetModuleByDetail(sys), JsonRequestBehavior.AllowGet);
  351. }
  352. return new EmptyResult();
  353. }
  354. public string[] GetIm()
  355. {
  356. string im = "im-home,im-home2,im-home3,im-home4,im-home5,im-home6,im-home7,im-home8,im-home9,im-home10,im-home11,im-office,im-newspaper,im-pencil,im-pencil2,im-pencil3,im-pencil4,im-pencil5,im-pencil6,im-quill,im-quill2,im-quill3,im-pen,im-pen2,im-pen3,im-pen4,im-pen5,im-marker,im-home12,im-marker2,im-blog,im-blog2,im-brush,im-palette,im-palette2,im-eyedropper,im-eyedropper2,im-droplet,im-droplet2,im-droplet3,im-droplet4,im-paint-format,im-paint-format2,im-image,im-image2,im-image3,im-images,im-image4,im-image5,im-image6,im-images2,im-image7,im-camera,im-camera2,im-camera3,im-camera4,im-music,im-music2,im-music3,im-music4,im-music5,im-music6,im-piano,im-guitar,im-headphones,im-headphones2,im-play,im-play2,im-movie,im-movie2,im-movie3,im-film,im-film2,im-film3,im-film4,im-camera5,im-camera6,im-camera7,im-camera8,im-camera9,im-dice,im-gamepad,im-gamepad2,im-gamepad3,im-pacman,im-spades,im-clubs,im-diamonds,im-king,im-queen,im-rock,im-bishop,im-knight,im-pawn,im-chess,im-bullhorn,im-megaphone,im-new,im-connection,im-connection2,im-podcast,im-radio,im-feed,im-connection3,im-radio2,im-podcast2,im-podcast3,im-mic,im-mic2,im-mic3,im-mic4,im-mic5,im-book,im-book2,im-books,im-reading,im-library,im-library2,im-graduation,im-file,im-profile,im-file2,im-file3,im-file4,im-file5,im-file6,im-files,im-file-plus,im-file-minus,im-file-download,im-file-upload,im-file-check,im-file-remove,im-file7,im-file8,im-file-plus2,im-file-minus2,im-file-download2,im-file-upload2,im-file-check2,im-file-remove2,im-file9,im-copy,im-copy2,im-copy3,im-copy4,im-paste,im-paste2,im-paste3,im-stack,im-stack2,im-stack3,im-folder,im-folder-download,im-folder-upload,im-folder-plus,im-folder-plus2,im-folder-minus,im-folder-minus2,im-folder8,im-folder-remove,im-folder2,im-folder-open,im-folder3,im-folder4,im-folder-plus3,im-folder-minus3,im-folder-plus4,im-folder-remove2,im-folder-download2,im-folder-upload2,im-folder-download3,im-folder-upload3,im-folder5,im-folder-open2,im-folder6,im-folder-open3,im-certificate,im-cc,im-tag,im-tag2,im-tag3,im-tag4,im-tag5,im-tag6,im-tag7,im-tags,im-tags2,im-tag8,im-barcode,im-barcode2,im-qrcode,im-ticket,im-cart,im-cart2,im-cart3,im-cart4,im-cart5,im-cart6,im-cart7,im-cart-plus,im-cart-minus,im-cart-add,im-cart-remove,im-cart-checkout,im-cart-remove2,im-basket,im-basket2,im-bag,im-bag2,im-bag3,im-coin,im-coins,im-credit,im-credit2,im-calculate,im-calculate2,im-support,im-phone,im-phone2,im-phone3,im-phone4,im-contact-add,im-contact-remove,im-contact-add2,im-contact-remove2,im-call-incoming,im-call-outgoing,im-phone5,im-phone6,im-phone-hang-up,im-phone-hang-up2,im-address-book,im-address-book2,im-notebook,im-envelop,im-envelop2,im-mail-send,im-envelop-opened,im-envelop3,im-pushpin,im-location,im-location2,im-location3,im-location4,im-location5,im-location6,im-location7,im-compass,im-compass2,im-map,im-map2,im-map3,im-map4,im-direction,im-history,im-history2,im-clock,im-clock2,im-clock3,im-clock4,im-watch,im-clock5,im-clock6,im-clock7,im-alarm,im-alarm2,im-bell,im-bell2,im-alarm-plus,im-alarm-minus,im-alarm-check,im-alarm-cancel,im-stopwatch,im-calendar,im-calendar2,im-calendar3,im-calendar4,im-calendar5,im-print,im-print2,im-print3,im-mouse,im-mouse2,im-mouse3,im-mouse4,im-keyboard,im-keyboard2,im-screen,im-screen2,im-screen3,im-screen4,im-laptop,im-mobile,im-mobile2,im-tablet,im-mobile3,im-tv,im-cabinet,im-archive,im-drawer,im-drawer2,im-drawer3,im-box,im-box-add,im-box-remove,im-download,im-upload,im-disk,im-cd,im-storage,im-storage2,im-database,im-database2,im-database3,im-undo,im-redo,im-rotate,im-rotate2,im-flip,im-flip2,im-unite,im-subtract,im-interset,im-exclude,im-align-left,im-align-center-horizontal,im-align-right,im-align-top,im-align-center-vertical,im-align-bottom,im-undo2,im-redo2,im-forward,im-reply,im-reply2,im-bubble,im-bubbles,im-bubbles2,im-bubble2,im-bubbles3,im-bubbles4,im-bubble-notification,im-bubbles5,im-bubbles6,im-bubble3,im-bubble-dots,im-bubble4,im-bubble5,im-bubble-dots2,im-bubble6,im-bubble7,im-bubble8,im-bubbles7,im-bubble9,im-bubbles8,im-bubble10,im-bubble-dots3,im-bubble11,im-bubble12,im-bubble-dots4,im-bubble13,im-bubbles9,im-bubbles10,im-bubble-blocked,im-bubble-quote,im-bubble-user,im-bubble-check,im-bubble-video-chat,im-bubble-link,im-bubble-locked,im-bubble-star,im-bubble-heart,im-bubble-paperclip,im-bubble-cancel,im-bubble-plus,im-bubble-minus,im-bubble-notification2,im-bubble-trash,im-bubble-left,im-bubble-right,im-bubble-up,im-bubble-down,im-bubble-first,im-bubble-last,im-bubble-replu,im-bubble-forward,im-bubble-reply,im-bubble-forward2,im-user,im-users,im-user-plus,im-user-plus2,im-user-minus,im-user-minus2,im-user-cancel,im-user-block,im-users2,im-user2,im-users3,im-user-plus3,im-user-minus3,im-user-cancel2,im-user-block2,im-user3,im-user4,im-user5,im-user6,im-users4,im-user7,im-user8,im-users5,im-vcard,im-tshirt,im-hanger,im-quotes-left,im-quotes-right,im-quotes-right2,im-quotes-right3,im-busy,im-busy2,im-busy3,im-busy4,im-spinner,im-spinner2,im-spinner3,im-spinner4,im-spinner5,im-spinner6,im-spinner7,im-spinner8,im-spinner9,im-spinner10,im-spinner11,im-spinner12,im-microscope,im-binoculars,im-binoculars2,im-search,im-search2,im-zoomin,im-zoomout,im-search3,im-search4,im-zoomin2,im-zoomout2,im-search5,im-expand,im-contract,im-scale-up,im-scale-down,im-expand2,im-contract2,im-scale-up2,im-scale-down2,im-fullscreen,im-expand3,im-contract3,im-key,im-key2,im-key3,im-key4,im-key5,im-keyhole,im-lock,im-lock2,im-lock3,im-lock4,im-unlocked,im-lock5,im-unlocked2,im-wrench,im-wrench2,im-wrench3,im-wrench4,im-settings,im-equalizer,im-equalizer2,im-equalizer3,im-cog,im-cogs,im-cog2,im-cog3,im-cog4,im-cog5,im-cog6,im-cog7,im-factory,im-hammer,im-tools,im-screwdriver,im-screwdriver2,im-wand,im-wand2,im-health,im-aid,im-patch,im-bug,im-bug2,im-inject,im-inject2,im-construction,im-cone,im-pie,im-pie2,im-pie3,im-pie4,im-pie5,im-pie6,im-pie7,im-stats,im-stats2,im-stats3,im-bars,im-bars2,im-bars3,im-bars4,im-bars5,im-bars6,im-stats-up,im-stats-down,im-stairs-down,im-stairs-down2,im-chart,im-stairs,im-stairs2,im-ladder,im-cake,im-gift,im-gift2,im-balloon,im-rating,im-rating2,im-rating3,im-podium,im-medal,im-medal2,im-medal3,im-medal4,im-medal5,im-crown,im-trophy,im-trophy2,im-trophy-star,im-diamond,im-diamond2,im-glass,im-glass2,im-bottle,im-bottle2,im-mug,im-food,im-food2,im-hamburger,im-cup,im-cup2,im-leaf,im-leaf2,im-apple-fruit,im-tree,im-tree2,im-paw,im-steps,im-flower,im-rocket,im-meter,im-meter2,im-meter-slow,im-meter-medium,im-meter-fast,im-dashboard,im-hammer2,im-balance,im-bomb,im-fire,im-fire2,im-lab,im-atom,im-atom2,im-magnet,im-magnet2,im-magnet3,im-magnet4,im-dumbbell,im-skull,im-skull2,im-skull3,im-lamp,im-lamp2,im-lamp3,im-lamp4,im-remove,im-remove2,im-remove3,im-remove4,im-remove5,im-remove6,im-remove7,im-remove8,im-briefcase,im-briefcase2,im-briefcase3,im-airplane,im-airplane2,im-paperplane,im-car,im-gas-pump,im-bus,im-truck,im-bike,im-road,im-train,im-ship,im-boat,im-cube,im-cube2,im-cube3,im-cube4,im-pyramid,im-pyramid2,im-cylinder,im-package,im-puzzle,im-puzzle2,im-puzzle3,im-puzzle4,im-glasses,im-glasses2,im-glasses3,im-sunglasses,im-accessibility,im-accessibility2,im-brain,im-target,im-target2,im-target3,im-gun,im-gun-ban,im-shield,im-shield2,im-shield3,im-shield4,im-soccer,im-football,im-baseball,im-basketball,im-golf,im-hockey,im-racing,im-eightball,im-bowlingball,im-bowling,im-bowling2,im-lightning,im-power,im-power2,im-switch,im-powercord,im-cord,im-socket,im-clipboard,im-clipboard2,im-signup,im-clipboard3,im-clipboard4,im-list,im-list2,im-list3,im-numbered-list,im-list4,im-list5,im-playlist,im-grid,im-grid2,im-grid3,im-grid4,im-grid5,im-grid6,im-tree3,im-tree4,im-tree5,im-menu,im-menu2,im-circle-small,im-menu3,im-menu4,im-menu5,im-menu6,im-menu7,im-menu8,im-menu9,im-cloud,im-cloud2,im-cloud3,im-cloud-download,im-cloud-upload,im-download2,im-upload2,im-download3,im-upload3,im-download4,im-upload4,im-download5,im-upload5,im-download6,im-upload6,im-download7,im-upload7,im-globe,im-globe2,im-globe3,im-earth,im-network,im-link,im-link2,im-link3,im-link22,im-link4,im-link5,im-link6,im-anchor,im-flag,im-flag2,im-flag3,im-flag4,im-flag5,im-flag6,im-attachment,im-attachment2,im-eye,im-eye-blocked,im-eye2,im-eye3,im-eye-blocked2,im-eye4,im-eye5,im-eye6,im-eye7,im-eye8,im-bookmark,im-bookmark2,im-bookmarks,im-bookmark3,im-spotlight,im-starburst,im-snowflake,im-temperature,im-temperature2,im-weather-lightning,im-weather-rain,im-weather-snow,im-windy,im-fan,im-umbrella,im-sun,im-sun2,im-brightness-high,im-brightness-medium,im-brightness-low,im-brightness-contrast,im-contrast,im-moon,im-bed,im-bed2,im-star,im-star2,im-star3,im-star4,im-star5,im-star6,im-heart,im-heart2,im-heart3,im-heart4,im-heart-broken,im-heart5,im-heart6,im-heart-broken2,im-heart7,im-heart8,im-heart-broken3,im-lips,im-lips2,im-thumbs-up,im-thumbs-up2,im-thumbs-down,im-thumbs-down2,im-thumbs-up3,im-thumbs-up4,im-thumbs-up5,im-thumbs-up6,im-people,im-man,im-male,im-woman,im-female,im-peace,im-yin-yang,im-happy,im-happy2,im-smiley,im-smiley2,im-tongue,im-tongue2,im-sad,im-sad2,im-wink,im-wink2,im-grin,im-grin2,im-cool,im-cool2,im-angry,im-angry2,im-evil,im-evil2,im-shocked,im-shocked2,im-confused,im-confused2,im-neutral,im-neutral2,im-wondering,im-wondering2,im-cursor,im-cursor2,im-point-up,im-point-right,im-point-down,im-point-left,im-pointer,im-hand,im-stack-empty,im-stack-plus,im-stack-minus,im-stack-star,im-stack-picture,im-stack-down,im-stack-up,im-stack-cancel,im-stack-checkmark,im-stack-list,im-stack-clubs,im-stack-spades,im-stack-hearts,im-stack-diamonds,im-stack-user,im-stack4,im-stack-music,im-stack-play,im-move,im-resize,im-resize2,im-warning,im-warning2,im-notification,im-notification2,im-question,im-question2,im-question3,im-question4,im-question5,im-plus-circle,im-plus-circle2,im-minus-circle,im-minus-circle2,im-info,im-info2,im-blocked,im-cancel-circle,im-cancel-circle2,im-checkmark-circle,im-checkmark-circle2,im-cancel,im-spam,im-close,im-close2,im-close3,im-close4,im-close5,im-checkmark,im-checkmark2,im-checkmark3,im-checkmark4,im-spell-check,im-minus,im-plus,im-minus2,im-plus2,im-enter,im-exit,im-enter2,im-exit2,im-enter3,im-exit3,im-exit4,im-play3,im-pause,im-stop,im-backward,im-forward2,im-play4,im-pause2,im-stop2,im-backward2,im-forward3,im-first,im-last,im-previous,im-next,im-eject,im-volume-high,im-volume-medium,im-volume-low,im-volume-mute,im-volume-mute2,im-volume-increase,im-volume-decrease,im-volume-high2,im-volume-medium2,im-volume-low2,im-volume-mute3,im-volume-mute4,im-volume-increase2,im-volume-decrease2,im-volume5,im-volume4,im-volume3,im-volume2,im-volume1,im-volume0,im-volume-mute5,im-volume-mute6,im-loop,im-loop2,im-loop3,im-loop4,im-loop5,im-shuffle,im-shuffle2,im-wave,im-wave2,im-arrow-first,im-arrow-right,im-arrow-up,im-arrow-right2,im-arrow-down,im-arrow-left,im-arrow-up2,im-arrow-right3,im-arrow-down2,im-arrow-left2,im-arrow-up-left,im-arrow-up3,im-arrow-up-right,im-arrow-right4,im-arrow-down-right,im-arrow-down3,im-arrow-down-left,im-arrow-left3,im-arrow-up-left2,im-arrow-up4,im-arrow-up-right2,im-arrow-right5,im-arrow-down-right2,im-arrow-down4,im-arrow-down-left2,im-arrow-left4,im-arrow-up-left3,im-arrow-up5,im-arrow-up-right3,im-arrow-right6,im-arrow-down-right3,im-arrow-down5,im-arrow-down-left3,im-arrow-left5,im-arrow-up-left4,im-arrow-up6,im-arrow-up-right4,im-arrow-right7,im-arrow-down-right4,im-arrow-down6,im-arrow-down-left4,im-arrow-left6,im-arrow,im-arrow2,im-arrow3,im-arrow4,im-arrow5,im-arrow6,im-arrow7,im-arrow8,im-arrow-up-left5,im-arrowsquare,im-arrow-up-right5,im-arrow-right8,im-arrow-down-right5,im-arrow-down7,im-arrow-down-left5,im-arrow-left7,im-arrow-up7,im-arrow-right9,im-arrow-down8,im-arrow-left8,im-arrow-up8,im-arrow-right10,im-arrow-bottom,im-arrow-left9,im-arrow-up-left6,im-arrow-up9,im-arrow-up-right6,im-arrow-right11,im-arrow-down-right6,im-arrow-down9,im-arrow-down-left6,im-arrow-left10,im-arrow-up-left7,im-arrow-up10,im-arrow-up-right7,im-arrow-right12,im-arrow-down-right7,im-arrow-down10,im-arrow-down-left7,im-arrow-left11,im-arrow-up11,im-arrow-right13,im-arrow-down11,im-arrow-left12,im-arrow-up12,im-arrow-right14,im-arrow-down12,im-arrow-left13,im-arrow-up13,im-arrow-right15,im-arrow-down13,im-arrow-left14,im-arrow-up14,im-arrow-right16,im-arrow-down14,im-arrow-left15,im-arrow-up15,im-arrow-right17,im-arrow-down15,im-arrow-left16,im-arrow-up16,im-arrow-right18,im-arrow-down16,im-arrow-left17,im-menu10,im-menu11,im-menu-close,im-menu-close2,im-enter4,im-enter5,im-esc,im-backspace,im-backspace2,im-backspace3,im-tab,im-transmission,im-transmission2,im-sort,im-sort2,im-key-keyboard,im-key-A,im-key-up,im-key-right,im-key-down,im-key-left,im-command,im-checkbox-checked,im-checkbox-unchecked,im-square,im-checkbox-partial,im-checkbox,im-checkbox-unchecked2,im-checkbox-partial2,im-checkbox-checked2,im-checkbox-unchecked3,im-checkbox-partial3,im-radio-checked,im-radio-unchecked,im-circle,im-circle2,im-crop,im-crop2,im-vector,im-rulers,im-scissors,im-scissors2,im-scissors3,im-filter,im-filter2,im-filter3,im-filter4,im-font,im-font-size,im-type,im-text-height,im-text-width,im-height,im-width,im-bold,im-underline,im-italic,im-strikethrough,im-strikethrough2,im-font-size2,im-bold2,im-underline2,im-italic2,im-strikethrough3,im-omega,im-sigma,im-nbsp,im-page-break,im-page-break2,im-superscript,im-subscript,im-superscript2,im-subscript2,im-text-color,im-highlight,im-pagebreak,im-clear-formatting,im-table,im-table2,im-insert-template,im-pilcrow,im-lefttoright,im-righttoleft,im-paragraph-left,im-paragraph-center,im-paragraph-right,im-paragraph-justify,im-paragraph-left2,im-paragraph-center2,im-paragraph-right2,im-paragraph-justify2,im-indent-increase,im-indent-decrease,im-paragraph-left3,im-paragraph-center3,im-paragraph-right3,im-paragraph-justify3,im-indent-increase2,im-indent-decrease2,im-share,im-newtab,im-newtab2,im-popout,im-embed,im-code,im-console,im-sevensegment0,im-sevensegment1,im-sevensegment2,im-sevensegment3,im-sevensegment4,im-sevensegment5,im-sevensegment6,im-sevensegment7,im-sevensegment8,im-sevensegment9,im-share2,im-share3,im-mail,im-mail2,im-mail3,im-mail4,im-google,im-googleplus,im-googleplus2,im-googleplus3,im-googleplus4,im-google-drive,im-facebook,im-facebook2,im-facebook3,im-facebook4,im-instagram,im-twitter,im-twitter2,im-twitter3,im-feed2,im-feed3,im-feed4,im-youtube,im-youtube2,im-vimeo,im-vimeo2,im-vimeo3,im-lanyrd,im-flickr,im-flickr2,im-flickr3,im-flickr4,im-picassa,im-picassa2,im-dribbble,im-dribbble2,im-dribbble3,im-forrst,im-forrst2,im-deviantart,im-deviantart2,im-steam,im-steam2,im-github,im-github2,im-github3,im-github4,im-github5,im-wordpress,im-wordpress2,im-joomla,im-blogger,im-blogger2,im-tumblr,im-tumblr2,im-yahoo,im-tux,im-apple,im-finder,im-android,im-windows,im-windows8,im-soundcloud,im-soundcloud2,im-skype,im-reddit,im-linkedin,im-lastfm,im-lastfm2,im-delicious,im-stumbleupon,im-stumbleupon2,im-stackoverflow,im-pinterest,im-pinterest2,im-xing,im-xing2,im-flattr,im-foursquare,im-foursquare2,im-paypal,im-paypal2,im-paypal3,im-yelp,im-libreoffice,im-file-pdf,im-file-openoffice,im-file-word,im-file-excel,im-file-zip,im-file-powerpoint,im-file-xml,im-file-css,im-html5,im-html52,im-css3,im-chrome,im-firefox,im-IE,im-opera,im-safari,im-IcoMoon";
  357. return im.Split(',');
  358. }
  359. #endregion
  360. }
  361. }