Jump to content

rick

Members
  • Posts

    635
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by rick

  1. 23 minutes ago, jploch said:

    but that would not prevent the use of my module on multiple unregistered domains

    Exactly. That is the crux of the problem here. It's not any different than the other module developers here selling pro versions. Unscrupulous people will always find a way to circumvent licensing. The best you can do is trust the customer to honor your license models.

    23 minutes ago, jploch said:

    compare with your database entry

    You save the license id, transaction id, or whatever id for future reference. It could be in a database or a spreadsheet so that any inquiries from a customer can be checked against that database for validity.

    • Like 1
  2. Basically, the simplest solution, for example, is to use something similar to paypal's 'buy now' buttons; one for each license type. It really doesn't matter about a specific license ID unless you want to identify a particular user when they request support, etc., and then you can pass a unique ID which is returned with the transaction confirmation. In this example, you don't need to mess with any type of license key entry in your module; The customer just downloads the module from an email link. You insert the 'transaction id' in the email for their records that you can compare with your database entry at some future date.

    I know my replies seem somewhat 'negative' toward a viable solution and I apologize for that. On a positive note, one method I used many years ago was to keep certain 'key' functions on the server. The program would pass the license key and specific data to be processed on the server. If the license was valid, then the result was returned to the program for further processing. Again, this requires a 'phone home' procedure, which most people, including myself, don't really like.

     

    • Like 2
  3. That is a question I've been working on since the mid 90s. There is no simple solution when dealing with publicly viewable code.

    Generating a unique key is straightforward (eg, GUID, etc.). Validating the key requires a 'phone home' procedure, whether you do it on install or every time the code is executed is a choice to make.

    The problem lies with controlling the source code execution based on that validation. It is not possible to accomplish that with publicly viewable code.

    • Like 3
  4. 7 hours ago, kaz said:

    Unfortunately nothing changed. Changes will only be visible after a "save" in the editor.

    I'm not understanding this statement. Of course nothing you changed will be reflected until you save those changes.

    You edit existing content.
    Save those edits.
    Refresh the browser.

    Am I misunderstanding your goal?

  5. Hi @stanoliver,

    What are you wanting to do with wiremail?

    In general,

    Using the example from the MDN link I posted, this form contains three options (radio buttons). You will notice that each radio button has the same name (contact), effectively creating an array, or group. Remember that only one option can be selected (or no option).

    // I've added a few things to the example to help clarify my explanation.
    // I've added the action and method to the example.
    // I've added the required attribute to the input element.
    
    <form action="" method="post">
      <p>Please select your preferred contact method:</p>
      <div>
        <input type="radio" id="contactChoice1" name="contact" value="email" required>
        <label for="contactChoice1">Email</label>
        
        <input type="radio" id="contactChoice2" name="contact" value="phone" required>
        <label for="contactChoice2">Phone</label>
        
        <input type="radio" id="contactChoice3" name="contact" value="mail" required>
        <label for="contactChoice3">Mail</label>
        
      </div>
      <div>
        <button type="submit">Submit</button>
      </div>
    </form>

    When this form is submitted, only a selected radio button is submitted. For example, if a user selects "Phone", then the server receives $_POST["contact"]="phone". Since I specified each option is required, then the user *must select one. If the options were not required, then if no option was selected, there would not be a contact parameter.

    So in your server side script (the php file associated with the template) you would do something like this:

    $contact = $input->post('contact');
    // $contact now contains the selected value, either "email", "phone", or "mail"
    
    if( $contact == "email" ) {
    	// do some email stuff.
    
    } elseif ( $contact == "phone" ) {
    	// do some phone stuff.
    
    } elseif( $contact == "mail" ) {
    	// do some mail stuff.
    }

    Is this what you are looking for? If not, please give me more information to go on.

  6. For reference... Input type radio

    Regardless of how many options you make available to the user, each one has a unique value. Since the value of the selected radio button is submitted with the form, the only sanitation you need is to check whether the submitted option is in, for example an array of valid values.

    32 minutes ago, stanoliver said:

    form example with radio checkbox

    Just to clarify terminology, a radio button and a check box are two different types of inputs. A radio button is usually presented as a set of options in which only one can be selected, eg, Select Size: ()small, ()medium, ()large.

    A check box on the other hand is displayed as a single on/off indicator for a specific option, eg, Display User Name [yes|no] <- checked or unchecked.

  7. The only thing I can see at this time is the word "remote". Any time you venture outside the loopback (127.0.0.1), all sorts of external factors come into play; dns lookup, hop latency, etc. I'm not suggesting that is where the problem lies, just that more areas are opened up to check this issue. Do you (or any of your team) experience this delay via SSH, SCP, SFTP, etc.? Is there noticeable improvement at different times of the day? Any firewall in place? Can you tail your network to see if it jives with Tracy's database request listing? I'm just thinkin' out loud.

    • Like 7
  8. I like that automated script setup. I just finished a new manual vps LAMP setup and documented my particular procedure so that I could create my own automation script. When I say, my process, it's nothing fancy. Doing tasks by memory is error prone, and I've overlooked a few necessary modules in recent months. There is a reason an aircraft has checklists. The same should apply to a server configuration. Now I'll be looking at this script to see what I need to add for my process.

    I started with FreeBSD in the 90s simply because it is original and not bloated. Then I went with Debian for quite a few years, and for a number of years now run Ubuntu Server (recently 20.04 LTS). All three are great even today. The server version of Ubuntu is easily maintained since updates only apply to the programs you installed, such as imagemagick, curl, http2, etc. There isn't any default gui stuff to get in the way. So this default out-of-the-box setup is quite sufficient now and in the foreseeable future.

     

    • Like 4
  9. Hello @MilenKo,

    My bad. I apparently skipped right over the front-end spec in the title.

    What css framework are you using for the front-end? For example, bootstrap.

    The only difference between the back-end and the front-end is you have to do the manual procedure on the front-end. So, add the fields that you require to the user template. You populate whichever fields after registration/confirmation. When the need arises for a user to edit their profile, simply present a form with only the fields they are allowed to change. Users are accustomed to working with a complete form rather than clicking a fieldname in a list to add or edit the field data. Especially if there are quite a few fields.

    Hope this helps.

    PS. Thanks! Dogs are the best. They don't care what kind of day you had, they are always glad to see you.
    In fact, lock your dog and your girlfriend in the trunk of your car for an hour, then let them out and see which one is glad to see you.

  10. Since you didn't specify whether this was a front-end interface or back-end, I'll assume you want this functionality on the back-end.

    You can add whatever fields you want to the user template.

    Then you can enable fields the user is allowed to edit from the Modules > Configure page by selecting the Settings button for the User Profile option.

    Let us know if you want something similar on the front-end.

  11. Hello @creativeguy,

    First, my condolences to you and his family. I applaud you for carrying on with the sites you and he built together.

    Second, don't worry about the adult theme. I have a number of client sites that are adult only. (Also nothing dark :D)

    Lastly, since you are versed in PHP, why don't we see if we can get you up and running. This forum is full of knowledgeable people that are more than willing to help get you set up.

    Let's start at the beginning. When you say that you cannot make a local copy work. Did you "copy" all of the files from document root to your localhost? What error message(s) are you getting when you attempt to access localhost? Do the messages indicate a problem connecting to the database? Do you stay in an endless loop trying to login?

    Also, an FYI, The config.php will be different on localhost than on the server, and possibly the .htaccess file as well.

    Give us some more information to go on so we know where to look.

    Best regards,

    • Like 4
×
×
  • Create New...