Por favor me perdoem pois eu sou bem leigo ao PHP, mas de vez em quando é o suficiente para me virar onde necessário. Porém agora estou empacado e ficaria muito agradecido se pudessem me dar uma luz.
Eu tenho um código que posso usar no RSForm do Joomla que limita o número de envios que qualquer usuário possa fazer em um devido formulário. Esta parte funciona tranquilamente e como eu quero, limita o envio a um formulário por usuário.
Porém, a minha dúvida é: Já que eu uso este mesmo formulário para o envio em diversas páginas diferentes, como eu faria para limitar o envio dos usuários também levando em conta a página que o usuário está realizando o envio?
O resultado final esperado é que cada usuário possa enviar uma por página onde ele tenha acesso ao formulário!
Tenho esse seguinte código que já limita a um envio por usuário, só preciso que ele também leve em consideração a página:
// Define the maximum number of submissions. $ max = 1; // Get the current logged in user. $ user = JFactory::getUser(); // Get a database connection. $ db = JFactory::getDbo(); $ query = $ db->getQuery(true); // Setup the query. $ query->select('COUNT('.$ db->qn('Username').')') ->from($ db->qn('#__rsform_submissions')) ->where($ db->qn('FormId').'='.$ db->q($ formId)) ->where($ db->qn('Username').'='.$ db->q($ user->get('username'))); // You can also count by User ID, just replace the above with: // ->where($ db->qn('UserId').'='.$ db->q($ user->get('id'))); $ db->setQuery($ query); $ counter = $ db->loadResult(); if ($ counter >= $ max){ $ formLayout = 'Sorry, you have reached the maximum number of submissions for this form.'; }
Agradeço quem puder ajudar!