~bibledit/bibledit/ubuntu-cloud-beta

« back to all changes in this revision

Viewing changes to resource/select.cpp

  • Committer: Teus Benschop
  • Date: 2022-10-14 16:03:26 UTC
  • Revision ID: teusjannette@gmail.com-20221014160326-42ybrpft4bblpruk
new upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
 
52
52
bool resource_select_acl (void * webserver_request)
53
53
{
54
 
  return access_logic_privilege_view_resources (webserver_request);
 
54
  return access_logic::privilege_view_resources (webserver_request);
55
55
}
56
56
 
57
57
 
60
60
  Webserver_Request * request = static_cast<Webserver_Request *>(webserver_request);
61
61
 
62
62
  
63
 
  string page;
 
63
  string page {};
64
64
  Assets_Header header = Assets_Header (translate("Resources"), request);
65
65
  page = header.run ();
66
 
  Assets_View view;
 
66
  Assets_View view {};
67
67
 
68
68
  
69
69
  view.set_variable ("page", resource_logic_selector_page (webserver_request));
71
71
  view.set_variable ("caller", caller);
72
72
  
73
73
 
74
 
  string disconnected_info;
 
74
  string disconnected_info {};
75
75
#ifdef HAVE_CLIENT
76
76
  if (!client_logic_client_enabled ()) {
77
77
    disconnected_info = translate ("Connect to Bibledit Cloud to have access to the full range of available resources.");
85
85
    // The POST method is supposed to be immune to that.
86
86
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a Bible"), "", "", true);
87
87
    dialog_list.add_query ("page", request->query["page"]);
88
 
    vector <string> bibles = AccessBible::Bibles (webserver_request);
89
 
    for (auto bible : bibles) {
 
88
    vector <string> bibles = access_bible::bibles (webserver_request);
 
89
    for (const auto & bible : bibles) {
90
90
      dialog_list.add_row (bible, "add", bible);
91
91
    }
92
92
    page += dialog_list.run ();
106
106
    Database_UsfmResources database_usfmresources;
107
107
    resources = database_usfmresources.getResources ();
108
108
#endif
109
 
    for (auto resource : resources) {
 
109
    for (const auto & resource : resources) {
110
110
      dialog_list.add_row (resource, "add", resource);
111
111
    }
112
112
    page += dialog_list.run ();
118
118
    Dialog_List dialog_list = Dialog_List (caller, translate("Select an original language text"), disconnected_info, "", true);
119
119
    dialog_list.add_query ("page", request->query["page"]);
120
120
    vector <string> resources = resource_external_get_original_language_resources ();
121
 
    for (auto resource : resources) {
 
121
    for (const auto & resource : resources) {
122
122
      dialog_list.add_row (resource, "add", resource);
123
123
    }
124
124
    page += dialog_list.run ();
130
130
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a Bible translation"), disconnected_info, "", true);
131
131
    dialog_list.add_query ("page", request->query["page"]);
132
132
    vector <string> resources = resource_external_get_bibles ();
133
 
    for (auto resource : resources) {
 
133
    for (const auto & resource : resources) {
134
134
      dialog_list.add_row (resource, "add", resource);
135
135
    }
136
136
    page += dialog_list.run ();
143
143
    dialog_list.add_query ("page", request->query["page"]);
144
144
    Database_ImageResources database_imageresources;
145
145
    vector <string> resources = database_imageresources.names ();
146
 
    for (auto resource : resources) {
 
146
    for (const auto & resource : resources) {
147
147
      dialog_list.add_row (resource, "add", resource);
148
148
    }
149
149
    page += dialog_list.run ();
155
155
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a lexicon resource"), "", "", true);
156
156
    dialog_list.add_query ("page", request->query["page"]);
157
157
    vector <string> resources = lexicon_logic_resource_names ();
158
 
    for (auto resource : resources) {
 
158
    for (const auto & resource : resources) {
159
159
      dialog_list.add_row (resource, "add", resource);
160
160
    }
161
161
    page += dialog_list.run ();
167
167
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a SWORD resource"), disconnected_info, "", true);
168
168
    dialog_list.add_query ("page", request->query["page"]);
169
169
    vector <string> resources = sword_logic_get_available ();
170
 
    for (auto resource : resources) {
 
170
    for (const auto & resource : resources) {
171
171
      dialog_list.add_row (resource, "add", resource);
172
172
    }
173
173
    page += dialog_list.run ();
187
187
      resource_logic_orange_divider (),
188
188
      resource_logic_rich_divider(),
189
189
    };
190
 
    for (auto resource : resources) {
 
190
    for (const auto & resource : resources) {
191
191
      dialog_list.add_row (resource, "add", resource);
192
192
    }
193
193
    page += dialog_list.run ();
199
199
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a BibleGateway resource"), disconnected_info, "", true);
200
200
    dialog_list.add_query ("page", request->query["page"]);
201
201
    vector <string> resources = resource_logic_bible_gateway_module_list_get ();
202
 
    for (auto resource : resources) {
 
202
    for (const auto & resource : resources) {
203
203
      dialog_list.add_row (resource, "add", resource);
204
204
    }
205
205
    page += dialog_list.run ();
211
211
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a StudyLight resource"), disconnected_info, "", true);
212
212
    dialog_list.add_query ("page", request->query["page"]);
213
213
    vector <string> resources = resource_logic_study_light_module_list_get ();
214
 
    for (auto resource : resources) {
 
214
    for (const auto & resource : resources) {
215
215
      dialog_list.add_row (resource, "add", resource);
216
216
    }
217
217
    page += dialog_list.run ();
227
227
    Dialog_List dialog_list = Dialog_List (caller, translate("Select a Comparative resource"), disconnected_info, string(), true);
228
228
    dialog_list.add_query ("page", request->query["page"]);
229
229
    vector <string> resources;
230
 
    vector<string> raw_resources = Database_Config_General::getComparativeResources ();
231
 
    for (auto raw_resource : raw_resources) {
232
 
      string title;
 
230
    vector<string> raw_resources =
 
231
#ifdef HAVE_CLOUD
 
232
    Database_Config_General::getComparativeResources ();
 
233
#else
 
234
    resource_logic_comparative_resources_get_list_on_client ();
 
235
#endif
 
236
    for (const auto & raw_resource : raw_resources) {
 
237
      string title {};
233
238
      if (resource_logic_parse_comparative_resource (raw_resource, &title)) {
234
239
        resources.push_back(title);
235
240
      }
236
241
    }
237
 
    for (auto resource : resources) {
 
242
    for (const auto & resource : resources) {
238
243
      dialog_list.add_row (resource, "add", resource);
239
244
    }
240
245
    page += dialog_list.run ();
256
261
#else
257
262
    resource_logic_translated_resources_get_list_on_client ();
258
263
#endif
259
 
    for (auto raw_resource : raw_resources) {
260
 
      string title;
 
264
    for (const auto & raw_resource : raw_resources) {
 
265
      string title {};
261
266
      if (resource_logic_parse_translated_resource (raw_resource, &title)) {
262
267
        resources.push_back(title);
263
268
      }
264
269
    }
265
 
    for (auto resource : resources) {
 
270
    for (const auto & resource : resources) {
266
271
      dialog_list.add_row (resource, "add", resource);
267
272
    }
268
273
    page += dialog_list.run ();
285
290
 
286
291
  
287
292
  page += view.render ("resource", "select");
288
 
  page += Assets_Page::footer ();
 
293
  page += assets_page::footer ();
289
294
  return page;
290
295
}