Jump to content

PauloV

Members
  • Posts

    1,387
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by PauloV

  1. Hello, The massmailler should have, (cron base), markting options such as: Client our Product related a ) If Client, should have the options: - Number of Days since Registration - Minimum and Maximum Number of Active Products/Services b ) If Product, should have the options: - Select multi Products/Services/Addons - Select multi Products/Services/Addons Status (Active/Suspended/Cancelled) - Select number of days to do an action like: - Number of Days After Order Date - Number of Days Before Next Due Date - Select multi (Not Have) Products/Services/Addons We use a lote this options (not in Blesta), and are very efficient
  2. Im using now my Laptop linked by Wifi to my Samsung Galaxy S4 using 4G connection, on movment on my Car, (Just stoped the car and waiting for some people lol), but dosent go above 5Mb Download, and 11Mb Upload lol: http://www.speedtest.net/my-result/3426452629 On the office we have Fiber that can easely go to 100Mb Download and Upload, and ADSL that can andle 25Mb We have changed in Portugal betwin almost all internet providers since 1998 (the good old days that we had have 56k Modem), and one thing is serten, all providers are good on the beginning, but wen some time as pass, the providers here in Portugal put restritions because the servers cant handle to many clients traffic. Now with fiber, things seems a litle better, full speed and no limitations
  3. We need the "Input" and the "Output" of the Tools->Logs->Module
  4. flangefrog, is right you need to make a test or remeber the date and time wen you reproduced the error and post it here.
  5. PauloV

    :)

    lol its Blesta "Face Time" or Blesta "Selfie" lol
  6. Hello, Please click on your Blesta admin, on Tools->Logs->Module Then click on the date of your registrar module on the day and time wen has executed and post here or PM me the "Input" and "Output" DONT FORGET TO REMOVE OR CHANGE YOUR "INPUT" Registrar Username and Password before you post here or PM me
  7. Hello, I have try to debug, but dont have any erros on .US domains on Blesta 3.1.3 Please click on Tools->Logs->Module Then click on the date of your registrar module on the day and time wen has executed and post here or PM me the "Input" and "Output" DONT FORGET TO REMOVE OR CHANGE YOUR "INPUT" Registrar Username and Password before you post here or PM me
  8. Sorry, my mistake. I will add a fix for next week
  9. What registrar/module are you using?
  10. What registrar are you using on Blesta? enom, logicboxes(ResellerClub etc.), internet.bs ?
  11. PauloV

    Windows Flat Ui

    Lol , yes. Some strange things appen on old IE but we have to live with that and make some tricks to support old browsers. We use a tool to debug on almost all browsers to try to detect and fix things There isnt a perfect browser all browsers have flaws in all versions
  12. PauloV

    Email Piping

    This was fixed on the latest 3.1.3, we dont have any errors on Piping (Have to CHMOD 777 the /plugins/support_manager/pipe.php), and also the Mailparsins thar now all characters are correctly decoded Are you using the latest Blesta 3.1.3 ?
  13. Yes, do you still have any error?
  14. PauloV

    Credit Note?

    This will be on 3.3 I suppose. The European Invoice system is not implemented yet to support: Pro-Forma Invoice wen a service is renewed with own sequential number Create an "Invoice", wen a "Pro-Forma Invoice" is Paid, with own sequential number, or simple create an "Invoice" but not "Paid" add an option to create new Type of documents, like "Credite Notes", "Recipes" etc, with there own sequential number.
  15. Thanks
  16. Something smell very fishy here, dont you think?? I going to shut my mouth until Im 100% serten lol and make a fool of myself lollllllllllll 100% serten what I have seen Very GOOD Plugin lolllllllll Have a nice DAY to you all I have found a small "bug" lol Open file: parallel_po/views/default/admin_main.pdt See the lines 321 and 322 "XXXXX ", "XXXXX!\n" Regards, PV
  17. Hello to all Describe the issue you're experiencing. Re: Wen you uninstall a "Module", and you have any service associated to a client, or any package associated with the "Module" all service labels disappear from clients services. and gives several erros because the Module dosent exist. Provide detailed steps necessary to reproduce the issue. Re: Install a Module, create a Package with that Module, Add a Service from that Package to a client, and then go to Settings->Modules->Installed and uninstall the Module. Now got to the client and see the service labels. Include your configuration settings, i.e. OS, version of Blesta, version of module/gateway/plugin if applicable, version of PHP & MySQL. Re: Blesta 3.1.3, PHP 5.3, MySQL 5.1.73 Possible solution: A solution is, prevent uninstall a Module if there is any packages associated to that Module. Regards, PV
  18. This a very small mod, and I think Its unecessary to make as a Standalone Plugin (more tables, more files, and more coding to do just this actions), Blesta only needs to add to Core to 3.2 If Tyson, Cody or Paul, tell me to make a Plugin insted, I will make a Plugin I think its not necessary Regards, PV
  19. Hello Blestars Today we show you how to add a new option called "My Private Notes" to your "My Info" option on Blesta (We hope Blesta added this to Core ) This option encrypts all info into the database, so its a secured way to, for exemple add your passwords, links or outher info you like to your personall use Like on WHMCS, we use a lot the "Notes" to save some info to remember later, but Blesta didnt have until today If Blesta add this to core, on WHMCS import script, also can import the Notes from your WHMCS into your Blesta Teaser: How to install (its simple) Open your phpMyAdmin and on the left select your Blesta Data Base, and on the right select "SQL" and execute: ALTER TABLE `staff` ADD `notes` TEXT NOT NULL AFTER `email_mobile`; Download and upload this file (blesta_file_private_notes.zip) into your blesta instalation in app/views/admin/default/ Open the file languages/[your language]/admin_myinfo.php find on line 14: $lang['AdminMyinfo.!success.notices_updated'] = "Your notice settings were successfully updated."; replace: $lang['AdminMyinfo.!success.notices_updated'] = "Your notice settings were successfully updated."; $lang['AdminMyinfo.!success.notes_updated'] = "Your private notes were successfully updated."; find on line 20: $lang['AdminMyinfo.gettabnames.text_notices'] = "Notices"; replace: $lang['AdminMyinfo.gettabnames.text_notices'] = "Notices"; $lang['AdminMyinfo.gettabnames.text_notes'] = "Private Notes"; find on line 51: $lang['AdminMyinfo.notices.no_subscription_results'] = "There are no subscription notices available to your staff group."; replace: $lang['AdminMyinfo.notices.no_subscription_results'] = "There are no subscription notices available to your staff group."; // Private Notes $lang['AdminMyinfo.notes.page_title'] = "My Information > Private Notes"; $lang['AdminMyinfo.notes.heading_notes'] = "My Private Notes"; $lang['AdminMyinfo.notes.field_notessubmit'] = "Update Notes"; open file app/models/staff.php find on line 906: public function validateNoticeActionExists($action, $staff_group_id) { $count = $this->Record->select()->from("staff_group_notices")-> where("staff_group_id", "=", $staff_group_id)-> where("action", "=", $action)-> numResults(); return ($count > 0); } replace: public function validateNoticeActionExists($action, $staff_group_id) { $count = $this->Record->select()->from("staff_group_notices")-> where("staff_group_id", "=", $staff_group_id)-> where("action", "=", $action)-> numResults(); return ($count > 0); } /** * Updates the given staff member private notes * * @param int $staff_id The ID of the staff member to update * @param array $vars An array of staff member info including */ public function editNotes($staff_id, array $vars) { // Update staff private notes //$vars["notes"] = systemEncrypt($vars["notes"]); $fields = array("notes"); $this->Record->where("id", "=", $staff_id)->update("staff", $vars, $fields); } /** * Fetches a staff member notes * * @param int $staff_id The ID of the staff member * @param int $company_id The ID of the company to set staff settings for (optional, if null, no settings will be set) * @return mixed An array of objects or false if no results. * @see Staff::getByUserId() */ public function getNotes($staff_id, $company_id=null) { $fields = array("staff.id", "staff.user_id", "staff.notes"); $staff = $this->Record->select($fields)->from("staff")-> where("staff.id", "=", $staff_id)->fetch(); return $staff; } open file app/controllers/admin_myinfo.php find on line 147: private function getGroupNotices($staff_group_id, $type) { $this->uses(array("StaffGroups")); // Get staff group notices $group_notices = $this->StaffGroups->getNotices($staff_group_id); if (!empty($group_notices)) { // Get all client email groups $this->uses(array("EmailGroups")); Language::loadLang("admin_company_emails"); $email_groups = $this->EmailGroups->getAllByNoticeType($type); // Create a list of email groups by action $groups = array(); foreach ($email_groups as &$email_group) { // Load plugin language if ($email_group->plugin_dir !== null) Language::loadLang("admin_company_emails", null, PLUGINDIR . $email_group->plugin_dir . DS . "language" . DS); $email_group->lang = Language::_("AdminCompanyEmails.templates." . $email_group->action . "_name", true); $email_group->lang_description = Language::_("AdminCompanyEmails.templates." . $email_group->action . "_desc", true); // Set only those notices available to this staff group foreach ($group_notices as $notice) { if ($notice->action == $email_group->action) { $groups[] = $email_group; break; } } } return $groups; } return array(); } /** * Retrieves a list of link tabs for use in templates * * @return array A list of tab names */ private function getTabNames() { return array( array('name'=>Language::_("AdminMyinfo.gettabnames.text_index", true), 'uri'=>"index"), array('name'=>Language::_("AdminMyinfo.gettabnames.text_notices", true), 'uri'=>"notices") ); } replace: private function getGroupNotices($staff_group_id, $type) { $this->uses(array("StaffGroups")); // Get staff group notices $group_notices = $this->StaffGroups->getNotices($staff_group_id); if (!empty($group_notices)) { // Get all client email groups $this->uses(array("EmailGroups")); Language::loadLang("admin_company_emails"); $email_groups = $this->EmailGroups->getAllByNoticeType($type); // Create a list of email groups by action $groups = array(); foreach ($email_groups as &$email_group) { // Load plugin language if ($email_group->plugin_dir !== null) Language::loadLang("admin_company_emails", null, PLUGINDIR . $email_group->plugin_dir . DS . "language" . DS); $email_group->lang = Language::_("AdminCompanyEmails.templates." . $email_group->action . "_name", true); $email_group->lang_description = Language::_("AdminCompanyEmails.templates." . $email_group->action . "_desc", true); // Set only those notices available to this staff group foreach ($group_notices as $notice) { if ($notice->action == $email_group->action) { $groups[] = $email_group; break; } } } return $groups; } return array(); } /** * Update this staff members private notes */ public function notes() { $this->uses(array("Users")); // Get staff and user IDs $user_id = $this->Session->read("blesta_id"); $staff_id = $this->Session->read("blesta_staff_id"); $vars = array(); // Update the users' info if (!empty($this->post)) { $errors = array(); // Begin transaction $this->post["notes"] = $this->Users->systemEncrypt($this->post["notes"]); $this->Staff->editNotes($staff_id, $this->post); $staff_errors = $this->Staff->errors(); $errors = $this->Staff->errors(); if (!empty($errors)) { $this->setMessage("error", $errors); $vars = (object)$this->post; } else { // Success, commit $this->flashMessage("message", Language::_("AdminMyinfo.!success.notes_updated", true)); $this->redirect($this->base_uri); } } // Set my info notes if (empty($vars)) { $staff = $this->Staff->getNotes($staff_id, $this->company_id); $staff->notes = $this->Users->systemDecrypt($staff->notes); $vars = (object)(array)$staff; } $this->set("vars", $vars); $this->set("link_tabs", $this->getTabNames()); return $this->renderAjaxWidgetIfAsync(); } /** * Retrieves a list of link tabs for use in templates * * @return array A list of tab names */ private function getTabNames() { return array( array('name'=>Language::_("AdminMyinfo.gettabnames.text_index", true), 'uri'=>"index"), array('name'=>Language::_("AdminMyinfo.gettabnames.text_notices", true), 'uri'=>"notices"), array('name'=>Language::_("AdminMyinfo.gettabnames.text_notes", true), 'uri'=>"notes") ); } Note: You can add the "My Private Notes" as a "Quick Link" to show on Blesta Admin Front Page, just click on "My Info" on the Top Right, then click on "Private Notes", and then click on the "Litle Star" above to add as a Quick Link If you dont whant do all the above work (you still have to execute the SQL qwery above), and you use the latest 3.1.3 Blesta, just download this file here, and upload to your Blesta Instalation We hope you enjoyit Regards, PV
  20. After you Install Support Manager Pro, did you create a "Departments", and Added a "Staff" to the "Departments" ? Its two independent modules, Support Manager and Support Manager Pro so you have to configure everitning on Support Manager Pro Regards, PV 1ยบ
  21. We will fix the error on Monday.
  22. Hello to all Blestars New updated version (28-03-1014) Check here first post. how to download/update. Regards, PV
  23. Wen the Blesta 3.2 go out with bootstrap, iframes will be amazing in any CMS integration Just wait and you will see, on IFrame you will be able to put the "width" of your choise without the current problems on minimum "width"
  24. Good point We could get the "email adress" from the plugin/extension creator, and we could submit bugs or report security holes The thinking is, because sometimes we find a bug, and we think "I have to report this, but now I dont have time, maybe later" and then we forgot and the bug still is present. If we had a plugin to easly send bug reports everyne will report bugs found insted of getting a forum login account and report, or send a support ticket to blesta.
  25. A bounty program dosent mean "to take credit" or "money" the "bounty" is just a name we have added/suggested to "catch" or "detect" a bug or security hole, noting more and nothing less But,if you take the "Bounty" name in count, we could make as a "Top member" that it could display a status of the Top Members that have detected bugs or security holes, just a top member, no monetary awards. Lol, wen I publish this post, I was not thinking in any award or money, just a simple plugin to easy post things to blesta devs I have to change the name "Bounty" eheh
×
×
  • Create New...