Jump to content

velaware

Alpha Developers
  • Posts

    346
  • Joined

  • Last visited

  • Days Won

    8

Reputation Activity

  1. Like
    velaware got a reaction from PauloV in [Plugin] Support Manager Pro - Tickets Delete, Merge, Spam, Multiple Tickets.   
    Here's the fix for the issues I've seen posted here so far, and have experienced personally.  This runs just fine on PHP 5.x and 7.x, and Blesta 4.0.  This requires some DB modifications and file changes so if you don't feel comfortable doing that you can either reach out to me for assistance or post here.
    The below is from a fresh install of the plugin.  YMMV but I hope this at least helps bridge the gap between those who can and can't upgrade Blesta over a plugin.
    * When creating ticket, says ticket was created but no ticket actually shows
    * No tickets also show in admin panel
    * No ticket # is generated
    ERROR: ERROR 1364 (HY000): Field 'name' doesn't have a default value
    The same error occurred for the other 3 columns as well.
    CAUSE: The INSERT SQL is not using these columns, but they are marked as NOT NULL in the db, which is blocking the SQL from executing successfully.
    FIX:
    alter table support_ticketspro modify name varchar(255) null; alter table support_ticketspro modify reading varchar(255) null; alter table support_ticketspro modify readed varchar(255) null; alter table support_ticketspro modify cfields varchar(255) null; * Badge not rendering
    CAUSE: On the initial load of pages with the tab, there's validation to ensure that the user is a client or staff, where as the $this->{type} property does not exist.  Which is causing PHP to throw an error.  An alternative fix is to have property_exists($this, {type}) before the $this->{type} but seeing as how everyone is wanting to move to 4.x I decided to ignore that solution.
    FIX: Edit file support_managerpro_plugin.php
    Line 1209: remove "&& $this->staff" (property does not exist anymore on class)
    Line 1233: remove "&& $this->client" (property does not exist anymore on class)
    * Enabling this causes extra padding at top of page due to jQuery to get the ticket count due to response being full HTML page instead of expected single line, so instead of just rendering the badge data it's rendering a full HTML page

    CAUSE: I'm not really sure what the cause is here.  It's basically an HTML page without any real content, but it was breaking the design.
    But, since this was an Ajax call being made anyways I don't know why the original author just did not go this route to begin with.  The method has existed since Blesta 3.x
    FIX: Edit file support_managerpro_plugin.php
    Line 1218: change newRowCount.trim() to newRowCount.content.trim()
    Line 1223: repeat change above
    Line 1242: repeat change above
    Line 1247: repeat change above
    Edit file controllers/admin_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
    Edit file controllers/client_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
  2. Like
    velaware got a reaction from Beav in Tools to aide developers   
    I wrote a small script that aims to help people start on projects extending Blesta.
    Currently it only allows creating a plugin, but I will be pushing up more templates sooner than later (want to get at least simple module template done too).  Any feedback is welcome.
    This is written with simple PHP in mind, as I didn't see a need to use a full blown framework, so the code may be a little spaghetti.  Originally this was going to be written in shell but wanted to make this useful for non-*nix users as well.
    Project link: https://github.com/velaware/blesta-developers-tools
  3. Thanks
    velaware got a reaction from activa in Tools to aide developers   
    I wrote a small script that aims to help people start on projects extending Blesta.
    Currently it only allows creating a plugin, but I will be pushing up more templates sooner than later (want to get at least simple module template done too).  Any feedback is welcome.
    This is written with simple PHP in mind, as I didn't see a need to use a full blown framework, so the code may be a little spaghetti.  Originally this was going to be written in shell but wanted to make this useful for non-*nix users as well.
    Project link: https://github.com/velaware/blesta-developers-tools
  4. Like
    velaware got a reaction from Abdy in Tools to aide developers   
    I wrote a small script that aims to help people start on projects extending Blesta.
    Currently it only allows creating a plugin, but I will be pushing up more templates sooner than later (want to get at least simple module template done too).  Any feedback is welcome.
    This is written with simple PHP in mind, as I didn't see a need to use a full blown framework, so the code may be a little spaghetti.  Originally this was going to be written in shell but wanted to make this useful for non-*nix users as well.
    Project link: https://github.com/velaware/blesta-developers-tools
  5. Like
    velaware got a reaction from BeZazz in Tools to aide developers   
    I wrote a small script that aims to help people start on projects extending Blesta.
    Currently it only allows creating a plugin, but I will be pushing up more templates sooner than later (want to get at least simple module template done too).  Any feedback is welcome.
    This is written with simple PHP in mind, as I didn't see a need to use a full blown framework, so the code may be a little spaghetti.  Originally this was going to be written in shell but wanted to make this useful for non-*nix users as well.
    Project link: https://github.com/velaware/blesta-developers-tools
  6. Like
    velaware got a reaction from Beav in [Plugin] Support Manager Pro - Tickets Delete, Merge, Spam, Multiple Tickets.   
    I can see reasons why Blesta wouldn't allow this.
    Other systems too don't allow this.  I.e.: Kayako doesn't (or at least hadn't in the past).
    For historical reasons, and I'm sure some legal aspects, it's usually best to limit what can be deleted in a client-facing software.
    ALso thanks @gosuhost for the further explanation.  If you want I will edit my fix post with what you gave.
  7. Like
    velaware got a reaction from Beav in [Plugin] Support Manager Pro - Tickets Delete, Merge, Spam, Multiple Tickets.   
    Here's the fix for the issues I've seen posted here so far, and have experienced personally.  This runs just fine on PHP 5.x and 7.x, and Blesta 4.0.  This requires some DB modifications and file changes so if you don't feel comfortable doing that you can either reach out to me for assistance or post here.
    The below is from a fresh install of the plugin.  YMMV but I hope this at least helps bridge the gap between those who can and can't upgrade Blesta over a plugin.
    * When creating ticket, says ticket was created but no ticket actually shows
    * No tickets also show in admin panel
    * No ticket # is generated
    ERROR: ERROR 1364 (HY000): Field 'name' doesn't have a default value
    The same error occurred for the other 3 columns as well.
    CAUSE: The INSERT SQL is not using these columns, but they are marked as NOT NULL in the db, which is blocking the SQL from executing successfully.
    FIX:
    alter table support_ticketspro modify name varchar(255) null; alter table support_ticketspro modify reading varchar(255) null; alter table support_ticketspro modify readed varchar(255) null; alter table support_ticketspro modify cfields varchar(255) null; * Badge not rendering
    CAUSE: On the initial load of pages with the tab, there's validation to ensure that the user is a client or staff, where as the $this->{type} property does not exist.  Which is causing PHP to throw an error.  An alternative fix is to have property_exists($this, {type}) before the $this->{type} but seeing as how everyone is wanting to move to 4.x I decided to ignore that solution.
    FIX: Edit file support_managerpro_plugin.php
    Line 1209: remove "&& $this->staff" (property does not exist anymore on class)
    Line 1233: remove "&& $this->client" (property does not exist anymore on class)
    * Enabling this causes extra padding at top of page due to jQuery to get the ticket count due to response being full HTML page instead of expected single line, so instead of just rendering the badge data it's rendering a full HTML page

    CAUSE: I'm not really sure what the cause is here.  It's basically an HTML page without any real content, but it was breaking the design.
    But, since this was an Ajax call being made anyways I don't know why the original author just did not go this route to begin with.  The method has existed since Blesta 3.x
    FIX: Edit file support_managerpro_plugin.php
    Line 1218: change newRowCount.trim() to newRowCount.content.trim()
    Line 1223: repeat change above
    Line 1242: repeat change above
    Line 1247: repeat change above
    Edit file controllers/admin_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
    Edit file controllers/client_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
  8. Thanks
    velaware got a reaction from BeZazz in [Plugin] Support Manager Pro - Tickets Delete, Merge, Spam, Multiple Tickets.   
    Here's the fix for the issues I've seen posted here so far, and have experienced personally.  This runs just fine on PHP 5.x and 7.x, and Blesta 4.0.  This requires some DB modifications and file changes so if you don't feel comfortable doing that you can either reach out to me for assistance or post here.
    The below is from a fresh install of the plugin.  YMMV but I hope this at least helps bridge the gap between those who can and can't upgrade Blesta over a plugin.
    * When creating ticket, says ticket was created but no ticket actually shows
    * No tickets also show in admin panel
    * No ticket # is generated
    ERROR: ERROR 1364 (HY000): Field 'name' doesn't have a default value
    The same error occurred for the other 3 columns as well.
    CAUSE: The INSERT SQL is not using these columns, but they are marked as NOT NULL in the db, which is blocking the SQL from executing successfully.
    FIX:
    alter table support_ticketspro modify name varchar(255) null; alter table support_ticketspro modify reading varchar(255) null; alter table support_ticketspro modify readed varchar(255) null; alter table support_ticketspro modify cfields varchar(255) null; * Badge not rendering
    CAUSE: On the initial load of pages with the tab, there's validation to ensure that the user is a client or staff, where as the $this->{type} property does not exist.  Which is causing PHP to throw an error.  An alternative fix is to have property_exists($this, {type}) before the $this->{type} but seeing as how everyone is wanting to move to 4.x I decided to ignore that solution.
    FIX: Edit file support_managerpro_plugin.php
    Line 1209: remove "&& $this->staff" (property does not exist anymore on class)
    Line 1233: remove "&& $this->client" (property does not exist anymore on class)
    * Enabling this causes extra padding at top of page due to jQuery to get the ticket count due to response being full HTML page instead of expected single line, so instead of just rendering the badge data it's rendering a full HTML page

    CAUSE: I'm not really sure what the cause is here.  It's basically an HTML page without any real content, but it was breaking the design.
    But, since this was an Ajax call being made anyways I don't know why the original author just did not go this route to begin with.  The method has existed since Blesta 3.x
    FIX: Edit file support_managerpro_plugin.php
    Line 1218: change newRowCount.trim() to newRowCount.content.trim()
    Line 1223: repeat change above
    Line 1242: repeat change above
    Line 1247: repeat change above
    Edit file controllers/admin_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
    Edit file controllers/client_tickets_count.php
    At end of index() method add this: return $this->renderAjaxWidgetIfAsync(true);
  9. Thanks
    velaware got a reaction from activa in Dockerized Blesta   
    There's 3 images on the Docker Hub for Blesta, 2 of which were invalid for me and another that ran in PHP 7 and seemed to come with the kitchen sink.
    That didn't sit well with me so I decided to create a bare bones instance of Blesta that also passes all required and recommended set ups.  The end result is here: https://hub.docker.com/r/velaware/docker-php-blesta/
    It does assume some knowledge of Docker (i.e.: how to find the IP and image ID).  But, overall, it will get you up and running.  This currently comes pre-packaged with 4.0.0 ready to install, but will be improving on this soon.  Changing this isn't that difficult.
    This is in the README.md file too (just go to the GitHub repo) but to access this for now you need to go to /blesta.  This will be fixed soon.
  10. Like
    velaware got a reaction from activa in Dockerized Blesta   
    Pushed up a fix so you go to http://<ip>/ instead of /blesta now.
  11. Thanks
    velaware reacted to Paul in Dockerized Blesta   
    Awesome!  
  12. Thanks
    velaware got a reaction from Paul in Dockerized Blesta   
    There's 3 images on the Docker Hub for Blesta, 2 of which were invalid for me and another that ran in PHP 7 and seemed to come with the kitchen sink.
    That didn't sit well with me so I decided to create a bare bones instance of Blesta that also passes all required and recommended set ups.  The end result is here: https://hub.docker.com/r/velaware/docker-php-blesta/
    It does assume some knowledge of Docker (i.e.: how to find the IP and image ID).  But, overall, it will get you up and running.  This currently comes pre-packaged with 4.0.0 ready to install, but will be improving on this soon.  Changing this isn't that difficult.
    This is in the README.md file too (just go to the GitHub repo) but to access this for now you need to go to /blesta.  This will be fixed soon.
  13. Thanks
    velaware reacted to Blesta Addons in Dockerized Blesta   
    Nice Job
  14. Thanks
    velaware got a reaction from Blesta Addons in Dockerized Blesta   
    There's 3 images on the Docker Hub for Blesta, 2 of which were invalid for me and another that ran in PHP 7 and seemed to come with the kitchen sink.
    That didn't sit well with me so I decided to create a bare bones instance of Blesta that also passes all required and recommended set ups.  The end result is here: https://hub.docker.com/r/velaware/docker-php-blesta/
    It does assume some knowledge of Docker (i.e.: how to find the IP and image ID).  But, overall, it will get you up and running.  This currently comes pre-packaged with 4.0.0 ready to install, but will be improving on this soon.  Changing this isn't that difficult.
    This is in the README.md file too (just go to the GitHub repo) but to access this for now you need to go to /blesta.  This will be fixed soon.
  15. Like
    velaware got a reaction from ariq01 in Blesta Api Python Version   
    Blesta's work is heavily based on PHP.  However, Python is my go-to language of choice.  So, I decided to take Blesta's publicly available API SDK and convert it to Python using standard Python libraries (so no special pip commands needed!).
     
    Here's the link: https://github.com/anzenehansen/Blesta-Goodies/tree/master/api
     
    Right now it works just the same as the PHP version (I basically mirrored it to Python) but soon I plan on making it more Pythonic (hate that word but best way to describe it).  I love ORM style solutions so that is one of the first things I'm going to turn it into.
     
    Its by default 755 if you git it, that was simply due to testing.
  16. Like
    velaware got a reaction from Michael in Ldap Authentication Plugin   
    This plugin gives insigt to those who want to authenticate users with something other than MySQL (though this can be used along with).  It does require editing some core files, however, which I'm going to test against vQmod so this isn't necessary just haven't gotten around to it today.
     
    Installing this plugin is easy, just place it in the plugin folder.  It also comes with a readme file to go over some things such as what needs to be edited and how.
     
    Some LDAP servers require TLS support to perform actions like updating records, so this plugin offers this feature in the form of a switch.  This plugin also supports multi-company environments by having the admin creating the profile choose the company to select.
     
    Change Log
    v0.0.1-a
    Initial release Allows only authentication (i.e.: does not add user to LDAP server) Detects if account is staff or client (not heavily tested so please post any issues)  
    GitHub repo: https://github.com/anzenehansen/Blesta-Goodies/tree/master/plugins/ldap_auth
    Download: https://github.com/anzenehansen/Blesta-Goodies/raw/master/ldapauth_plugin.tar.gz
  17. Like
    velaware got a reaction from danmo in Python Blesta Api   
    I made a thread on this elsewhere but since I did a bit of a major overhaul, enough to warrant basically a 2.0 of it.
     
    This differs in very, very big ways.  The biggest is that this supports ORM now.
     
    Instead of manually calling APIs via doing this:
    from blesta_api import * api = BlestaAPI(...) api.get("ApiKeys", "getList") You can do it this way:
    from blesta_api import * api = BlestaAPI(...) # Get list of API keys api.models.ApiKeys.getList() # Use my API Helper's test module api.plugins.apihelper.test(str="Returning this string") This makes the code easier and more pleasant to read.
     
    It should be noted that both methods are supported, and for ORM to work the API Helper plugin needs to be installed.  Otherwise this won't work (Blesta doesn't offer a native way to get all available API calls).
     
    All api.models calls are found in /blesta/app/models while api.plugins reads all plugins that have a public model in the /blesta/plugins directory.
     
    Source: https://github.com/anzenehansen/Blesta-Goodies/blob/master/api/blesta_api.py
    API Helper tarball: https://github.com/anzenehansen/Blesta-Goodies/raw/master/apihelper_plugin.tar.gz
     
    INSTALL
    Use as you would any other Python script.  The only thing you have to actually import is BlestaAPI, so from blesta_api import BlestaAPI is fine too.
     
    TODO
    Create a way to determine HTTP method for each API call (currently only GET is supported) CHANGE LOG
    v2.0.0 - 01/28/2014
    Initial release
  18. Like
    velaware got a reaction from Michael in Blesta Api Python Version   
    Blesta's work is heavily based on PHP.  However, Python is my go-to language of choice.  So, I decided to take Blesta's publicly available API SDK and convert it to Python using standard Python libraries (so no special pip commands needed!).
     
    Here's the link: https://github.com/anzenehansen/Blesta-Goodies/tree/master/api
     
    Right now it works just the same as the PHP version (I basically mirrored it to Python) but soon I plan on making it more Pythonic (hate that word but best way to describe it).  I love ORM style solutions so that is one of the first things I'm going to turn it into.
     
    Its by default 755 if you git it, that was simply due to testing.
  19. Like
    velaware got a reaction from PauloV in Support Newer Php Versions   
    According to here: http://docs.blesta.com/display/user/Requirements Blesta supports PHP versions as low as 5.1.3.
     
    Looking at the end of life (EOL) of PHP's releases (http://php.net/eol.php), which means absolutely no support anymore except for MAYBE security releases, here's how it breaks up:
    PHP 5.1 EOL: August 24, 2006 PHP 5.2 EOL: January 6, 2011 PHP 5.3 EOL: August 14, 2014 Now there's some points here:
    Blesta doesn't take advantage of some of the nicer features of PHP 5.3+, namely namespaces (release notes on 5.3: http://php.net/releases/5_3_0.php) The fact that Blesta supports such outdated versions of PHP leaves itself open to some vulnerabilities due to also having to use old/outdated scripts that still support legacy versions as well 5.3's EOL just happened, and has been stated by the PHP team that they are only focused on security updates for it now, and 5.4 is not far behind 5.6 just came out, with talks already of either a 5.7 or finally releasing PHP 7 within the next year or two There's also the problem that now Blesta has to provide ionCube-encoded files for not only pre-5.5 but also 5.5 and potentially newer versions.  I.e.: I develop with 5.5, and want to upgrade to 5.6 but can't due to this.
     
    From a developer standpoint, using more current versions of PHP provides a lot more opportunities to developers (i.e.: namespaces are amazing for a community-driven project like Blesta gives the vibe of).  Granted, compared to WHMCS it already is in a lot of ways, but I feel this is holding Blesta back more than anything.  If hosts are using such archaic versions of PHP to begin with then there's more issues than Blesta can deal with.
     
    I simply propose supporting the feature set of 5.3 and higher (at least 5.3), has supporting something that was discontinued 8 years ago to this day does make development for it more difficult than it should.
  20. Like
    velaware got a reaction from interfasys in Support Newer Php Versions   
    To be fair Blesta, from what I can gather, doesn't use stream wrappers anyways, thus the dependency on cURL on install.  So, they won't benefit any from that regardless.
  21. Like
    velaware reacted to Paul in Support Newer Php Versions   
    We will be raising the minimum requirement to PHP 5.3 next year, likely in Q1 or Q2.
  22. Like
    velaware got a reaction from flangefrog in Support Newer Php Versions   
    Hell, even put support to 5.3 instead of 5.1.x.  At least 5.3 will still be supported for now, and I don't even know of a host that does (or at least should) support 5.1 or 5.2.
     
    Even on shared hosting, if people won't upgrade their sites to use something more stable, then you're putting 10 people at risk to please 1.
  23. Like
    velaware got a reaction from flangefrog in Support Newer Php Versions   
    According to here: http://docs.blesta.com/display/user/Requirements Blesta supports PHP versions as low as 5.1.3.
     
    Looking at the end of life (EOL) of PHP's releases (http://php.net/eol.php), which means absolutely no support anymore except for MAYBE security releases, here's how it breaks up:
    PHP 5.1 EOL: August 24, 2006 PHP 5.2 EOL: January 6, 2011 PHP 5.3 EOL: August 14, 2014 Now there's some points here:
    Blesta doesn't take advantage of some of the nicer features of PHP 5.3+, namely namespaces (release notes on 5.3: http://php.net/releases/5_3_0.php) The fact that Blesta supports such outdated versions of PHP leaves itself open to some vulnerabilities due to also having to use old/outdated scripts that still support legacy versions as well 5.3's EOL just happened, and has been stated by the PHP team that they are only focused on security updates for it now, and 5.4 is not far behind 5.6 just came out, with talks already of either a 5.7 or finally releasing PHP 7 within the next year or two There's also the problem that now Blesta has to provide ionCube-encoded files for not only pre-5.5 but also 5.5 and potentially newer versions.  I.e.: I develop with 5.5, and want to upgrade to 5.6 but can't due to this.
     
    From a developer standpoint, using more current versions of PHP provides a lot more opportunities to developers (i.e.: namespaces are amazing for a community-driven project like Blesta gives the vibe of).  Granted, compared to WHMCS it already is in a lot of ways, but I feel this is holding Blesta back more than anything.  If hosts are using such archaic versions of PHP to begin with then there's more issues than Blesta can deal with.
     
    I simply propose supporting the feature set of 5.3 and higher (at least 5.3), has supporting something that was discontinued 8 years ago to this day does make development for it more difficult than it should.
  24. Like
    velaware got a reaction from niyo in Offering Custom Development Services To All   
    As some know I've been pretty active around here lately in offering custom development and just overall solutions that either fill a niche or a growing need.  While I love programming in Python, my roots started in PHP and I still use the language to this day.
     
    Now I'm offering custom development for every and anyone here.  Past, current and future are welcome to reach out to me.  You can see some of my work here: https://github.com/anzenehansen/Blesta-Goodies
     
    While I like to offer what I develop to everyone, its not a requirement and I can release the product only to you.
     
    WHAT YOU GET:
    Premium development and direct communication An account to our project management system so you can monitor our progress Continued support after development is done* Updates either at request or when we reach a milestone in the project PRICES
    This is always the stickler for people, and my company understands that.  We started our business to help other small businesses without stretching their bank.  Heck, we're bootstrapped from the core up ourselves.
     
    Our pricing is flexible and depends more on the project.  We do ask for 10% down up front though, and charge hourly (another reason why we give you an account to our project management system, so you know what you're paying for).  The hourly rate is typically around $10/hour.
     
    As a note though, require the invoice to be paid before providing the finished product.  We are, however, happy to provide screenshots or other proof.
     
    Currently we only accept PayPal for payment.
     
    HOW?
    As our website is currently under development the best way to enquire about this is to contact plugin-dev@anzensolutions.com and our team will get in touch with you.  If you need to provide attachments or the like, then please email the ticket # to me (ehansen@anzensolutions.com) along w/ the attachments as we do not allow them currently through Blesta.
  25. Like
    velaware got a reaction from PauloV in Blesta Vs Whmcs   
    As a developer, and someone who has conversing with you via e-mail, I want to address some things you mentioned.
     

    There's a reason, as expressed via e-mail, that developers don't really like other people reselling their work.  We do the programming and hard work for $xx, and you resell it for $yy (or even free).  Some of us make a living out of developing for Blesta, and some don't.  Whatever the case may be, however, that is still profits that we won't be seeing.  I personally have asked numerous clients for different projects if they would mind me sharing whatever it is I've done for them, and the answer has 99.9% of the time been "no".  Usually with the statement of "we paid you $xx for this, we don't want others to be paying $zz or getting it for free."  That is how it is for us as well.
     
    If developers were to start allowing others to resell their work, then there would have to be measures in place such as ionCube encoding and licensing to help protect their IP.  Personally I don't like locking down my code like that.  I'm a firm believer of open source.  Say the person who developed your code for you yesterday is no longer reachable the day after, what are you going to do?  Even worse, then the support goes down the pipe to you to people you resold it to.  It just becomes an ugly mess no matter how you look at it.  I've had other people offer to resell stuff I've made before and I've turned them down stating these reasons.  In some aspects is more of a liability for you than it would be for me.
     
     
    Its very rare to find a developer who will support someone else's work.  Especially if they're not going to see a profit from it and have a massive work load as it stands.  Heck, I had to modify Blesta's SolusVM for some specific needs a client wanted as the Blesta team was very busy.
     
    I'm not speaking on behalf of every other developer out there, as some will do more than another.  But, as a developer business, we are in it to make money.  Freely supporting products we didn't create essentially takes a separate team since coding style alone is never the same.
×
×
  • Create New...