Fork de wikipp, le moteur de wiki en c++, basé sur cppcms. Le fork ajoute la langue française
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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