Jump to content

Jonathon

Members
  • Posts

    61
  • Joined

  • Last visited

Posts posted by Jonathon

  1. The query below will allow you to pick a company - in my case there is a 1 if you wanted a different one you just need to match the ID to the company ID

    SELECT contacts.client_id, contacts.first_name, contacts.last_name, contacts.email, contacts.address1, contacts.city, contacts.zip, contacts.country
    FROM contacts
    WHERE contacts.client_id in (
    SELECT clients.id
    FROM client_groups LEFT JOIN clients ON clients.client_group_id = client_groups.id
    WHERE client_groups.company_id = '1'
    )
    ORDER BY contacts.client_id;
    
    

    I have tested in mysql - looks to work okay - let me know if you have any issues.

  2. Hey Everyone

     

    I think I have found a new use case for support manager / support manager pro that seems to be failing.

     

    If you are piping emails  - and the email you are getting in has the following support manager pro shows you have a ticket but you are not able to access it.

     

    Email Contents - Subject, (no body to the email) only an attachement

    This is a real case as we been piping some emails from dmarcrep@microsoft.com into our queue (not any more)   but support staff are not able to see them until a record is added in the

    replies table

     

    1 of 2 ways to fix this.

     

    Update the ticket select query - not not be depending on the reply table

    or

    If the message body is detected as nothing - still create the record with some default text for the reply.

     

    Thanks

    Jonathon

  3. When changing the company in the dropdown -

    I think the url should also change to that of the company and not leave it on the previous one.

     

    Yes I have the admin areas themed differently but I think for JR support/billing people that have no clue about the setup - this would help - feed back I am getting since setting up our second company and adding some existing staff on to it. :)

  4. Hi Paul,

     

    If i change the code in the /app/model/backup.php

    private function buildDump() {
                    $db_info = Configure::get("Database.profile");
    
                    Loader::loadComponents($this, array("SettingsCollection"));
                    $temp = $this->SettingsCollection->fetchSystemSetting(null, "temp_dir");
                    $temp_dir = (isset($temp['value']) ? $temp['value'] : null);
    
                    $this->Input->setRules($this->getRules());
    
                    $vars = array(
                            'temp_dir' => $temp_dir,
                            'db_info' => $db_info
                    );
    
                    if ($this->Input->validates($vars)) {
                            // ISO 8601
                            $file = $db_info['database'] . "_" . date("Y-m-d\THis\Z");
                            $file_name = $temp_dir . $file . ".sql";
    
    //                      $test_command = "mysqldump --host=" . escapeshellarg($db_info['host']) . " --user=" . escapeshellarg($db_info['user']) ." --password=" . escapes$
    //echo $test_command;
    //file_put_contents("mysql_dump.txt", $test_command);
    
                            exec("mysqldump --host=" . escapeshellarg($db_info['host']) . " --user=" . escapeshellarg($db_info['user']) .
                                    " --password=" . escapeshellarg($db_info['pass']) . " " . escapeshellarg($db_info['database']) . " > " .
                                    escapeshellarg($file_name));
    
                            // GZip the file if possible
                            if (function_exists("gzopen")) {
                                    $chunk_size = 4096;
                                    $compress_file_name = $file_name . ".gz";
                                    // Compress as much as possible
                                    $gz = gzopen($compress_file_name, "w9");
                                    $fh = fopen($file_name, 'rb');
    
                                    // Read from the original and write in chunks to preserve memory
                    //              while (!feof($fh)) {
                    //                      $data = fread($fh, $chunk_size);
                    //                      if ($data)
                    //                              gzwrite($gz, $data);
                    //              }
                    //              unset($data);
                                    gzwrite($gz, $fh);
    
                                    $compressed = gzclose($gz);
    
                                    // Remove the original data file
                                    if ($compressed) {
                                            unlink($file_name);
                                            return $compress_file_name;
                                    }
                            }
    
                            return $file_name;
                    }
            }
    

    I does work as expected.   I know long term issues with reading the full file into memory with out chunking it will cause an issue.

     

    Not looking to modify the core - but just understand what part of the function is failing.

     

    Please note: maybe part of a bug but the function being checked for is not the same function being used to do the compress.

     

    Yes I can tar files in command with no issue :) even if I su to the www user running the site.

     

    Thanks for looking :)

  5. I have created a quick fix for it

     

    core file -> /app/models/invoices.php

    public function verifyPayHash($client_id, $invoice_id, $hash) {
           $h = $this->systemHash('c=' . $client_id . '|i=' . $invoice_id);
    
           $invoice_check = $this->get($invoice_id);
           if(!is_null($invoice_check) && $invoice_check->status === 'void')
                return false;
    
           return substr($h, -16) == $hash;
    }
    
    

    This will prevent voided invoices from using the email link :)

    May be able to get the invoice status via the getMeta  but did not test.

     

    Function is located at the bottom of the file :)

  6. If I comment out the gz of the file I do not get the nginx timeout and I can see the .sql file

     

    The core backup.php file is the same -

     

    By letting it not do the gz  I can see the mysql dump has completed but looks to be hanging on the gz function.

     

    If I return with the .sql file as the file variable the sftp upload then fails.   but if I do an ondemand download I can get the .sql file but not a .gz file 

     

    Hope that helps -  Just trying to break down the process to see where and why it is failing.

     

    Summary 2 parts

     

    1) the sql to gz creates a zero byte file

    2) sftp fails with .sql file with no other details.

  7. Hey Everyone

     

    I just started looking at using the automated backup in Blesta.

     

    I have created and tested the sFTP account to anther server and that works just fine.

     

     

    The web user can execute the mysqldump - I added some debug code and su'd to the user to test the command line produceds and it worked just fine.

     

    What is happening is the system is getting a gateway time out on force or download backup via the web.

     

     

    When I stop the process in the buildDump()  I can see the database.sql file and it is 100% good.

    When I let it try and compress the files this is where is goes wrong. 

     

    I get a zero byte .gz file and it just times out.

     

     

    If I comment out the .gz of the file - and just have the function return the uncompressed sql file

    sFTP fails - no additional information given as to why.

     

    but when I do a check sFTP connection in the settings that comes back as good.

     

    Any thoughts or help would be appreciated :)

     

     

    Jonathon M

    OnehostingPlan.com

     

     

     

  8. Hey Everyone

     

    What I am looking to do is get a report of all active services

    that will show an estimated annual income.

     

    The issue I see some services will bill monthly, quarterly .... annually

     

    How can we normalize this and generate a report?

     

    Any help or if this is already there please let me know :)

  9. Hi PauloV

     

    When a user is signed in and creates a ticket - this error pops up

     

    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tablename.support_staff_schedules' doesn't exist on line 124 in /sites.XXXX/www/lib/model.php

     

    This was a new install, and first time it had the supportPro installed

     

    Emailed ticket work fine.

     

    If you need additional information please let me know.

    Jonathon

  10. Hey Guys,

     

    on the client portal side I am getting admin only JS and it is causing my page to reload over and over again

     

    Happens when not signed in,  I have added a support link on my client pages - and when I remove that the refresh stops but the javascript is still present.

     

    The JS in the bottom is

     

    <!-- display admin ticket count menu badge-->
    <script>
    jQuery(function($){
    if( $("a[href=/portal/plugin/support_managerpro/client_main/]").length )
    {
    $( document ).ready(function() {
    $.get( '/admin/plugin/support_managerpro/client_tickets_count/', function(newRowCount){
    $("a[href=/portal/plugin/support_managerpro/client_main/]").html( newRowCount.trim() );
    });
    });
    setInterval(function(){
    $.get( '/admin/plugin/support_managerpro/client_tickets_count/', function(newRowCount){
    $("a[href=/portal/plugin/support_managerpro/client_main/]").html( newRowCount.trim() );
    });
    },5000);
    }
    });

    </script>
    <!-- end display admin ticket count menu badge-->

  11. Hi Guys

     

    I think module for TheSSLStore needs a a few options added to it

     

    1) TheSSLStore offers a token / cPanel/Plesk auto installer

    In the current form the customer is required to enter a CSR before purchase

    this confuses the customer and generally stops the sale.

     

    If you look at the WHMCS module in action for them

    They offer this as a simple check out and then you can config the SSL 2 ways

    Traditional - provide the CSR

    or

    They provide a token that can be used for

     

    I would like us to also have this - as I believe it will help with conversions and reduce the cost of support

    for SSL as the client can then use it and install the certificate.

     

    I know there is an open work item to review the fields.   But I would like to ask we expand this to include

    this type of feature :)

  12. Hi Guys,

     

    I using the cPanel module 2.3.1

     

    If you include the tag   in the welcome email of   {module.name_servers}

     

    The output to the email is        array

     

    It is not processing the array into text -

     

    Though it should return 1 line per item in the array of name servers.

×
×
  • Create New...