Jump to content
[MUST READ] Forum Rules ×

Anyx

Senior Members
  • Posts

    1058
  • Joined

  • Last visited

Posts posted by Anyx

  1. 5 hours ago, Mahtab Hassan said:

    3. This is also built on Codeignitor 3.

    Why didn't you choose to build it on 4? If I remember correctly, this was an issue that had been brought up in old Xera, migrating it from 3 to 4. What made you choose 3 again?

    5 hours ago, Mahtab Hassan said:

    2. This is a way better and secure then Xera and MOFHY.

    Do you mention somewhere how security has improved over Xera, for example?

    Also, some of the tutorials in your forum confuse me a little, for example this:

    Quote

    You can implement your own MOFH-R clientarea template by following theese steps:

    • Make new directory in /public/custom in your MOFH-R installation.
    • Copy all files from /public/public to /public/custom directory.

    In https://github.com/mahtab2003/MOFH-R/tree/master/public, there is no public folder, only default and custom, and custom seems to already have files there that function as a a template. Unless that folder you mention gets created in the installation, in which case I'll test it myself and probably move that discussion to your forum.

    Nice to see the release! I'll be following the development and will make a test installation soon :)

  2. 8 hours ago, TinkerMan said:

    You are calling yourself “Flake! Hosting”, but your domain is for “snow-web”, so that is not the best from a search engine perspective.

    This strangely reminds me of Tomas' Quack! Hosting, that has it's main domain as quackweb. Strange similarity but I thought I'd share xD⁠

    I stand with most, if not all, of TinkerMan's points otherwise and will offer a few of my own:

    • It would be best to update to Xera's latest version, if possible (that is to say, if you haven't modified files that would be overwritten by the update). If not, applying some of the grammar fixes is not required, but would definitely be better looking.
    • On that, if you plan to use Discord as your community forum, you may wish to change the display name to "Community Discord" or something similar. This should be easy if you have the language update, but it seems to me that you are not on that version (or chose to disable it).
    • Your social media and contact links seem to be linking to your account. It may be better to make a separate account and email address for the host (and ideally, use an [email protected]).
    5 hours ago, Ultimate Host said:

    Yeah, I'm remaking the website with Bootstrap, so it'll be responsive.

    Nice! I'll wait until it's ready for a further review.

  3. 17 hours ago, User51 said:

    Curious, how'd you get a custom coupon code? Most affiliate systems have an option to make a coupon code, but iFastNet has none, as far as I know.

    You can try contacting support and ask them to make you one. Volia's will most likely offer a better discount though, lol.

  4. On 10/21/2022 at 8:17 PM, BastelPichi said:

    However thats discontinued.

    I'm not really sure of that; I changed it to "Paused" because of what @Mahtab Hassan mentioned here: https://github.com/mahtab2003/Xera/issues/49#issuecomment-1245020109

    Quote

    I will introduce something new after a few months.

    I'm not really sure if "something new" meant a new client area, or new features to Xera, I interpreted it as the latter because of the previous conversation, and because I don't think it'd be easier to make an entirely new project while he's busy.

    In any case, Xera will not be receiving new features anytime soon, not by its core maintainer anyway; there has been activity by contributors in the past though, and some have expressed to continue development if they have more time.

    Like you said though:

    On 10/21/2022 at 8:17 PM, BastelPichi said:

    Currently, the only one somewhat secure is Xera.

    So it is the only current option. Available at https://github.com/mahtab2003/Xera.

  5. 2 hours ago, smallhost said:

    I don't mind at all! It works way better than my screenshot version. In fact, I'm using it for the SmallHost vPanel demo now: https://smallhost.us.to/try/vp/index.html

    Awesome to hear!

    2 hours ago, smallhost said:

    You credited me properly as per the license, thank you!

    Thank you for creating the initial project and giving me the idea to work on it! I've always wanted a functioning demo in vPanel.

    A huge thank you to @MeTooIDK for taking over and adding cool new features, as well to every contributor. We're going to continue actively working on this and improving it.

    I might make a new thread for this soon.

  6. 2 hours ago, BastelPichi said:

    For installing Discourse, you dont have any docker or SSH on the free hosting. However you can host the forum on a different webhost for cheap. However there may be a different way of installing.

    I believe it would be best to avoid shared hosting and go directly for a VPS/Docker hosting. Installing Discourse on web hosting would likely be very complicated and prone to errors; unless you know of a guide/hosting that allows this.

    4 hours ago, hello said:

    Just wondering if it is possible to make a dashboard for users so they can access the CPanel and the mysql information and password and so on on the dashboard page. Im not sure how to link the CPanel data to my dashboard that I'm trying to make for users. 

    It's certainly possible; it would be better to use the MyOwnFreeHost API for that. Community documentation along with some wrappers is available in https://api.myownfreehost.net/, for an idea you can take a look at projects like Xera which was mentioned above.

  7. On 9/24/2022 at 3:43 AM, SpookyKipper said:

    Maybe you can do something like this?

    const urlParams = new URLSearchParams(window.location.search);
    const page = urlParams.get("option");
    
    function sitebuilder() {
        if (document.getElementById("item_sitereptile") != null) { //checks if the icon exists/panel is loaded
          // Code
        } else { 
          setTimeout(sitebuilder, 100); //if not, re check every 100ms
        }
    }
    
    //page null = homepage
    if (page == null) {
      setTimeout(sitebuilder, 100); //Check after 100ms. People rarely can load the panel instantly.
    }

    People will barely need to wait because it checks every 100ms.

    Yes, I believe that should do what I was looking for. Thanks!

  8. Removing elements can also be covered by Element Changer now.

    A slight modification in @Wizacr's code to remove groups:

    <script>
    remove = ["Email"];
    
    function find(k, a) {
    	for (var i=0; i < a.length; i++) {
    		if (a[i].desc === k) {
    		    a[i] = undefined;
    		    if (a[i] === undefined) {
    		        a.splice(i, 1);
    		    }
    		}
    	}
    }
    remove.forEach(item => find(item, PAGE.appGroups));
    </script>
  9. 3 minutes ago, Wizacr said:

    I've done very limited work within the VistaPanel.

    Looks like the code I modified works in Chrome without issue, however to get it to act appropriately in FireFox I had to make sure the code was in the "bottom advert" portion.

    Strange. Your code doesn't work for me in the header area (Ungoogled Chromium), and when I place it in footer it works initially, however after going to another VistaPanel page (like Addon Domains) and returning to the main one, or hard refreshing, it doesn't work.

    My final version is in https://github.com/4yx/VistaPanel-SB/blob/main/index.js, and while it worked in all my tests, it is really unhelpful to people with fast connections, as it won't work if they don't wait 5 seconds before going to SiteBuilder. Currently thinking of a way to get around that (somehow detect slow connections).

    /*	**************************************************************************
    	*   @preserve
    	*   VistaPanel Add-on
    	*   Script Name:  VistaPanel-SB
    	*   Version: 1.0
    	*   This file is licensed under MIT Attribution
    	************************************************************************** 
    */
    window.addEventListener("load", function() {
      document.getElementsByTagName("footer")[0].innerHTML += `
      <div class="modal fade" id="sb" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4 class="modal-title" id="myModalLabel">Entering SiteBuilder (Site.Pro</h4>
            </div>
            <div class="modal-body">
            <div class="alert alert-warning" role="alert">
        <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
        <span class="sr-only">Recommened:</span>
        Upgrade to Premium Hosting for more features,more faster!
      </div>
      
              <form method="POST" action="https://buildall.onrender.com/main">
        <label for="ftp_user">FTP Username:</label><br>
        <input class="form-control"  type="text" id="ftp_user" name="ftp_user" ><br>
        <label for="ftp_password">FTP Password:</label><br>
        <input class="form-control"  type="text" id="ftp_password" name="ftp_password" ><br><br>
          <label for="domain">Domain Name:</label><br>
        <input class="form-control" type="text" id="domain" name="domain"><br>
        <label for="ftp_host">FTP Host:</label><br>
        <input class="form-control"  type="text" id="ftp_host" name="ftp_host" ><br><br>
          <label for="builder_upload">Domain Directroy (Example: subdomain.web.net/htdocs/):</label><br>
        <input class="form-control"  type="text" id="builder_upload" name="builder_upload" ><br><br>
            <input type="submit" value="Go!" class="btn btn-primary">
            </form>
    
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          
            </div>
      
          </div>
        </div>
      </div>
      `
      setTimeout(function() {
        var a = document.getElementById("icon-sitereptile")
        a.setAttribute("data-toggle", "modal");
        a.setAttribute("data-target", "#sb");
        a.setAttribute("href", "#sb");
        var b = document.getElementById("item_sitereptile")
        b.setAttribute("data-toggle", "modal");
        b.setAttribute("data-target", "#sb");
        b.setAttribute("href", "#sb");
        b.setAttribute("ng-href","#sb");
      }, 5000);
    });

     

  10. 12 minutes ago, Wizacr said:

    The site builder element is rendered after the page is loaded from the PAGE.appGroups array.
    This means that you can not modify any element until after the page has been completed loaded since it simply doesn't exist yet.

    This is why your delay works.

    My suggested method to have scripts run as expected is to run them after the page has been loaded.

    Below is an example.

     

    function spro() {
    document.getElementsByTagName("footer")[0].innerHTML += `
    <div class="modal fade" id="sb" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
            <h4 class="modal-title" id="myModalLabel">Entering SiteBuilder (Site.Pro</h4>
          </div>
          <div class="modal-body">
          <div class="alert alert-warning" role="alert">
      <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
      <span class="sr-only">Recommened:</span>
      Upgrade to Premium Hosting for more features,more faster!
    </div>
     
            <form method="POST" action="https://buildall.onrender.com/main">
      <label for="ftp_user">FTP Username:</label><br>
      <input class="form-control"  type="text" id="ftp_user" name="ftp_user" ><br>
      <label for="ftp_password">FTP Password:</label><br>
      <input class="form-control"  type="text" id="ftp_password" name="ftp_password" ><br><br>
        <label for="domain">Domain Name:</label><br>
      <input class="form-control" type="text" id="domain" name="domain"><br>
      <label for="ftp_host">FTP Host:</label><br>
      <input class="form-control"  type="text" id="ftp_host" name="ftp_host" ><br><br>
        <label for="builder_upload">Domain Directroy (Example: subdomain.web.net/htdocs/):</label><br>
      <input class="form-control"  type="text" id="builder_upload" name="builder_upload" ><br><br>
          <input type="submit" value="Go!" class="btn btn-primary">
          </form>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        
          </div>
     
        </div>
      </div>
    </div>
     `
    var a = document.getElementById("icon-sitereptile")
    a.setAttribute("data-toggle", "modal");
    a.setAttribute("data-target", "#sb");
    a.setAttribute("href", "#sb");
    var b = document.getElementById("item_sitereptile")
    b.setAttribute("data-toggle", "modal");
    b.setAttribute("data-target", "#sb");
    b.setAttribute("href", "#sb");
    b.setAttribute("ng-href","#sb");
    }
    
    window.addEventListener("load", function() {
        spro();
    });

    I simply wrapped the entire code within a function, then called that function with an event listener that looks for the page to be fully loaded.

    If I'm not mistaken however, window.load, like DOMContentLoaded, doesn't exactly fire correctly, that is, it can fire while vPanel is still showing the "loading..." message and the groups have not been loaded from PAGE.appGroups.

    I wrapped the entire code around a DOMContentLoaded event, but I'll try using window.load and see if it works better. Thanks for the suggestion!

    EDIT: While I was correct in window.load firing before the elements are fully loaded, it did so much later than DOMContentLoaded in my test, which allows for a maximum 5 second delay in modifying the element. This is really useful. After some more tests I was able to verify this, which is nice.

    The only issue now is what to do with people with fast connections.

  11. 2 minutes ago, TinkerMan said:

    @MeTooIDK, it's a good start, but it requires information that the client does not have memorized. Such as the username, password, and root folder.

     

    And the worst thing is, even if they enter the wrong information, they won't know until they attempt to publish the website, and it fails.

     

    Also, it is impossible for you to validate that info, or to check if the domain is on an active account, etc.

    Interesting; were you able to get the script to work? Inserting it on my panel logged me out on every attempt, which is strange and shouldn't really happen, so if it worked for you is this something that's only happening to me?

×
×
  • Create New...