+ else if (*parameters[0] == '?')
+ {
+ // Force to the helpop system with no forward if not found.
+ if (do_helpop(parameters, pcnt, user) == false)
+ {
+ // Not handled by the Database, Tell the user, and bail.
+ for (int i = 1; output != ""; i++)
+ {
+ snprintf(a,MAXBUF,"line%d",i);
+ output = helpop->ReadValue("nohelp", std::string(a), 0);
+
+ if(output != "")
+ {
+ Srv->SendTo(NULL,user,"290 "+std::string(user->nick)+" :"+output);
+ }
+ }
+ }
+ }
+ else
+ {
+ // Check with the helpop database, if not found send to +h
+ if (do_helpop(parameters, pcnt, user) == false)
+ {
+ // Not handled by the Database, Tell the user, and forward.
+ for (int i = 1; output != ""; i++)
+ {
+ snprintf(a,MAXBUF,"line%d",i);
+ /* "nohelpo" for opers "nohelp" for users */
+ output = helpop->ReadValue("nohelpo", std::string(a), 0);
+ if (output != "")
+ {
+ Srv->SendTo(NULL,user,"290 "+std::string(user->nick)+" :"+output);
+ }
+ }
+ // Forward.
+ sendtohelpop(user, pcnt, parameters);
+ }
+ }