Fork de wikipp, le moteur de wiki en c++, basé sur cppcms. Le fork ajoute la langue française
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

page_content.h 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef PAGE_CONTENT_H
  2. #define PAGE_CONTENT_H
  3. #include "master_content.h"
  4. namespace content {
  5. typedef std::list<std::pair<int,std::string> > diff_t;
  6. struct page_form : public cppcms::form {
  7. apps::wiki *w;
  8. cppcms::widgets::text title;
  9. cppcms::widgets::textarea content;
  10. cppcms::widgets::text pad_url;
  11. cppcms::widgets::textarea sidebar;
  12. cppcms::widgets::submit save;
  13. cppcms::widgets::submit save_cont;
  14. cppcms::widgets::submit preview;
  15. cppcms::widgets::checkbox users_only;
  16. cppcms::form fields;
  17. cppcms::form buttons;
  18. page_form(apps::wiki *w);
  19. bool virtual validate();
  20. };
  21. struct page : public master {
  22. std::string title,content;
  23. std::string pad_url,sidebar;
  24. std::string edit_link;
  25. std::string history_link;
  26. };
  27. struct page_hist: public page {
  28. int version;
  29. std::string rollback;
  30. time_t date;
  31. };
  32. struct edit_page: public page {
  33. page_form form;
  34. bool new_page;
  35. std::string back;
  36. std::string submit;
  37. edit_page(apps::wiki *w) : form(w),new_page(false) {}
  38. };
  39. struct history : public master {
  40. struct item {
  41. time_t update;
  42. std::string show_url;
  43. std::string edit_url;
  44. std::string diff_url;
  45. int version;
  46. std::string author;
  47. };
  48. std::vector<item> hist;
  49. std::string page;
  50. std::string title;
  51. std::string page_link;
  52. };
  53. struct diff: public master {
  54. std::string edit_v1,edit_v2;
  55. int v1,v2;
  56. diff_t content_diff_content;
  57. diff_t pad_url_diff_content;
  58. diff_t sidebar_diff_content;
  59. std::string title,title_1,title_2;
  60. bool title_diff,content_diff,pad_url_diff,sidebar_diff,no_versions,no_diff;
  61. diff() :
  62. title_diff(false),content_diff(false),pad_url_diff(false),
  63. sidebar_diff(false),no_versions(false),
  64. no_diff(false)
  65. {
  66. }
  67. };
  68. } // namespace content
  69. #endif