Jump to content

PauloV

Members
  • Posts

    1,387
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by PauloV

  1. Thanks for appreciate our work and for the donation Didier I have added you to my signature We use custum rules also but dont have any trigger on Mod_Security and/or CSF Tanks for the tip on the fix We have alredy a new verion updated done and ready to be released wen Blesta 3.3 goes Stable, with alot of optimised code, stay tune The new version will only work on Blesta 3.3 or above because some of the new functionality are only trigger by the new Events that are available on Blesta 3.3 Regards, PV
  2. @Dominic Rome wasn't build in a day But Blesta has added more functions in one year than WHMCS in 5 years. Thats a lot to think about If you have asked me or naja7host maybe we builded for free your modules I hope you had maded a good choice and hope WHMCS fill your needs P.S- An advice sleep with one eye open and the other close wen running whmcs
  3. Thanks naja7host totally forgot about jquery mobile Have to see more feedbak to decide
  4. Hello Blestars We will start a new project for one client and we want to use the the best responsive framework to be compatible with the major browsers versions (IE8 +, CG, FF, Safari) and also multiplataform Desktop/Tablet/Mobile screens with some "Touch" UI wen in Mobile Mode We have reduced to this 2 frameworks, but maybe there are better ones that we dont know about it Foundation V5 - http://foundation.zurb.com/ Bootstrap V3 - http://getbootstrap.com/ We think Foundation is better (Love how tables work), but we are not 100% sure We appreciate some feedback to help us out Thanks in advance, PV
  5. Great work naja7host You are breaking the record of Free Modules/Plugins for Blesta lol
  6. I have for some time to now an ideia for an APP for Windows Mobile, Android and IOS(Mac/IPhone/IPad) and its really very simple (after we buil an mobile theme for Blesta lol). Every APP (not games) is almost written in Javascript + HTML5 + CSS + XML (sometimes php + sql) with remote commands to a server A great exemple that we use is this APP: Android: https://play.google.com/store/apps/details?id=de.hetzner.robot_mobile IOS: https://itunes.apple.com/pt/app/robot-mobile/id482005451?mt=8 This app only call a remote webpage in here: https://robot-mobile.your-server.de/ We can easelly build an APP for each plataform using for exemple: http://unity3d.com/ (best of the best on deploying easy and fast cross plataform applications and also games) http://www.appcelerator.com/ (Also a great and free plataform, but it is more dificult to deploy a cross plataform) http://phonegap.com/ (Anoiuther great plataform to build cross plataform mobile APP's) Now the biggest challanging is Time (we dont have time now eheh )
  7. On Blesta you have "Draft" option, just change in language file to "Quote" and you will have a Quotes invoice
  8. Great work naja7host Going to install right now
  9. I recommend seeing Breaking Bad to anyone that didnt see To bad that ended. Dexter + Breaking Bad = Good Times eheh The videos are becoming better and better with a really good reporters and funny lines Why not open a comment section in the end of each video? It will be cool to see WHMCS defenders comment and us Blesta defendera also replying
  10. Lol "los pollos hermanos" = Breaking Bad(WHMCS)
  11. Just to say Thanks to naja7host and cody for all the help We have since this morning optimise all our plugins for Blesta 3.3 now with the new Events is more easier Here is a working sample of what we did in our Blesta Live Chat Plugin: /** * Execute evet on Appcontroller.structure */ public function getEvents() { return array( array( 'event' => "Appcontroller.structure", 'callback' => array("this", "addCode") ) // Add multiple events here ); } /** * On Appcontroller.structure run this */ public function addCode($event) { // Fetch current return val $result = $event->getReturnVal(); $params = $event->getParams(); // Set return val if not set if (!isset($result['body_end'])) $result['body_end'] = null; // Set return val if not set if (!isset($result['head'])) $result['head'] = null; // Update return val -- ONLY set if client portal if ($params['portal'] == "admin") $result['body_end'] .= $this->liveChatAdminInclude(); $result['head'] .= ' <style type="text/css"> <!-- .bchat_badge { top: -8px; font-size: 10px; font-weight: 700; float: none !important; position: relative; padding: 2px 5px 3px 5px;color: #fff; background-image: linear-gradient(#fa3c45, #dc0d17); background-image: -webkit-gradient(linear, center top, center bottom, from(#fa3c45), to(#dc0d17)); background-image: -webkit-linear-gradient(#fa3c45, #dc0d17); -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .7); box-shadow: 0px 1px 1px rgba(0,0,0,0.7); text-shadow: 0px -1px 0px rgba(0,0,0,0.4); -webkit-border-radius: 10px; -moz-border-radius: 10px;border-radius: 10px; } --> </style> '; if ($params['portal'] == "client") $result['body_end'] .= $this->liveChatClientInclude(); // Update return val $event->setReturnVal($result); } /** * On Appcontroller.structure add the code to Admin Side */ public function liveChatAdminInclude() { //print_r($GLOBALS); $nick = new Record(); $nick = $nick->select(array("first_name","last_name"))->from("staff")->where("user_id", "=", $GLOBALS['_SESSION']['blesta_staff_id'])->fetch(); $nick = $nick->{"first_name"}." ".$nick->{"last_name"}; $blc_include = file_get_contents(PLUGINDIR . DS . "live_chat" . DS . "views" . DS . "default" . DS . "admin_live_chat_include.pdt"); $blc_include = str_replace("{{base_web}}", WEBDIR.Configure::get("Route.admin")."/", $blc_include); $blc_include = str_replace("{{nick}}", $nick, $blc_include); return $blc_include; } /** * On Appcontroller.structure add the code to Client Side */ public function liveChatClientInclude() { $blc_include = file_get_contents(PLUGINDIR . DS . "live_chat" . DS . "views" . DS . "default" . DS . "client_live_chat_include.pdt"); $blc_include = str_replace("{{base_uri}}", WEBDIR, $blc_include); return $blc_include; }
  12. Thanks I alredy figure it out this morning I use this WEBDIR.Configure::get("Route.admin") to get the web route and this $GLOBALS['_SESSION']['blesta_staff_id'] to get the staff id inside the plugin In PDT files was easier to find out With Blesta 3.3 now we will be able to optimise a lote of the code and it will fix the issue of "find" and "replace" functions that we have in some plugins for core files
  13. Hello, What Im doing rong? class LiveChatPlugin extends Plugin { ... public function my_function() { if (!isset($nick->Record)) Loader::loadComponents($nick, array("Record")); $nick = new Record(); $nick = $nick->select(array("first_name","last_name"))->from("staff")->where("user_id", "=", $logged_in)->fetch(); $nick = $nick->{"first_name"}." ".$nick->{"last_name"}; $blc_include = file_get_contents(PLUGINDIR . DS . "live_chat" . DS . "views" . DS . "default" . DS . "admin_live_chat_count_include.pdt"); $blc_include = str_replace("{{base_uri}}", $this->base_uri, $blc_include); $blc_include = str_replace("{{nick}}", $nick, $blc_include); return $blc_include; } } I want to call the global var "$logged_in" and the "$this->base_uri" but in this class I cant call Thanks in advance, PV
  14. Hello Blestars Is there any way to generate a direct link to a "Restricted Package" to be able to post on the website to anyone purchase that package with that link? Thanks in advance, PV
  15. OK now Im finally getting something in /[my-blesta-folder]/plugins/[myplugin]/myplugin_plugin.php added this in "class MyPlugin extends Plugin {" /** * Execute evet on Appcontroller.structure */ public function getEvents() { $this->Events->register("Appcontroller.structure", array($this,'addCode')); $event = new EventObject("Appcontroller.structure", array('controller' => 'AdminLiveChatCount', 'action' => 'body_end', 'portal' => 'admin')); $this->Events->trigger($event); } /** * On Appcontroller.structure run this */ public function addCode($event) { $params = $event->getParams(); // get current values $params['portal'] = "admin"; // only show on admin $params['body_end'] = "<p>Hello World!</p>"; // add code in the body_end $event->setReturnVal($params); // set values //print_r ($params); //output array } Now it outputs correctly the "Hello World!" on body_end but there is a bug, (I think) because I have specify to only show in "admin" but it output in both "client" and "admin" Any help? thanks in advance, PV
  16. no still no luck, but I think Im close to discover the soltuion (I hope)
  17. Thanks Tyson 99,99% of our clients pays by "Bank Transfer" (Manual Payment), and so we work this way, and you can get the idea wen we manage more than 5000 payment clients that have to be verified one by one
  18. OK, I have manage to work but is difficult to anyone understand,how to make the cancelation work: 1- Client Buys the package 2- You have to first activate "Orders Widget" in Billing->Overview, and click on the left in "Manage Widgets" then activate the "Order" (by default the widget is not activated) 3- Now you will see all pending orders, you Have first to "acept" the order before anything helse 4- Now you have to add the payment to the invoice 5- Now you can activate the Package only this way the cancelation is added (very, very confusing) Sugestions: 1- By default activate the "Orders Widget", and also add the same widget to the client details dashborad in admin 2- Show a warning in client view admin dasborad that you have xx pending orders to admins/staff doent forget to activate the order 3- Dont let activate a Package if there is a "Pendding" order for that "Package", because if you activate first the package and then approve the prder, the cancelation dosent work
  19. Sorry I have this optons selected that can affect that: In Setting I have: Allow Clients to Cancel Services Automatically Provision Paid Pending Services In the order form I have: Require Manual Review and Approval of All Orders And for the rest:
  20. Excellent But also send an email in xx days before cancelled warning the client
  21. I have "Approved" the "Transaction" for that "Invoice", before I have activate the service. Is this what are you refering to? and dont see any "Orders" option in "Billing Widget"
  22. I dont see any issue maybe my lptop is to fast I7-4700MQ Windows 8.1 All Browsers tested Also tested on my Mobile (Samsung Galaxy S4) and its fast
  23. Very strange Im using a clean install without any extras Here is the config and result:
×
×
  • Create New...