Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by WHMUp

  1. Since 2016, with initial release of my Blog Module, the most common question was if it's compatible with WHMCS Announcements, or if it can imports data from Announcements etc. That's was the reason that I decided to release an improvement module for WHMCS Announcements. Actually is a shell to them so your don't have to worry what will happen with your current announcements. They'll be there, just with missing the extra features, unless if your decide to edit them. What it does Improves the Announcements section, by adding these extra features: Use Prefixes (as many as you want) to categorize your Announcements. Ability to add a Photo Ability to add a YouTube video Shows all these in Announcement Listing Search for text in: Title, Article text, or in Both Clickable Prefixes to show Announcements only for that Category Adds full Open Graph meta tags, for social share (including photo) Social Share to Facebook, Twitter, Pinterest Special design for your Homepage Multilingual Early Bird Discount 20% valid till Thursday 04 Mar 2021 Use Coupn Code: EBKISAPLUS LIVE DEMO
  2. Hello, Is there any function to prepare the single announcement link depending on site settings for links? I want to use it in a hook and what I know at that time is the Announcement id eg the Basic URL is index.php?rp=/announcements/4/This-is-the-3nd-post.html I wish to be a magic code and have it eg $link = getAnnouncementLink($id) ðŸĪŠðŸ˜‚ Thank you Chris
  3. @brian! If you ever decide to write a book, .... how you call it... "Tips & Tricks"?? for WHMCS, let me know. I'll be the first who will pre-order it and for sure it will becomes Best Seller among the community 😃
  4. ...hahahaha...... I must admit that once more you kicked me out of the ring @brian! 😂 Never thought that it can be named "view....". I was looking in the templates starting with "A" and into the includes/ I believe that I'll succeed it, but finally I can modify $announcement.text by inserting code at the begining and at the end. THANK YOU !
  5. Finally even Announcements can appear nice with some tweaks. https://whmcs.teriakis.com/index.php?rp=/announcements If I find the single announcement template should be fine, otherwise I've to use the ...Greek way ðŸĪŠ
  6. Hello all, Hoping that I'll not read something like "is a system template, or worst, is including in PHP code", can someone point me to find the single announcement page template? When I didn't found it in the main templates directory I thought that maybe is inside the /includes/, but is not there. Thank you Chris
  7. Finally I prefer to keep my own way. Maybe I add one more query to database but I've globally available, some important values.
  8. What I hate in Debug which really very useful is that it loads all the language phrases and WHMCS have so many. So, as my visual is not so strong any more, I'm messing my eyes. In any case I'll try to check it. Thank you
  9. Hello all, Does anyone knows if the variable {$WEB_ROOT} is a global variable or not? In some templates it works, in some others not. Also is there any similar variable for PHP files? Currently I'm using my own variables but it gets, without a special reason, an extra query to database. Thank you Chris
  10. @Cowboy My apologies, ignore my post. Even if (from what I know) features are the same for all installations (I mean in different providers), this is from Namecheap where I had a testing account, and I can say that have been very happy using OX App Suite, even if for my own reasons , I canceled it.
  11. I can reply only to this. It's very easy. From setting you can choose which email account will receive such emails Of course you can select "None" which means that in such case all unrouted emails will be delete.
  12. Hello Steven, Yes, I did, and thank you for your advice. But there is a dark point on this. As this task is part of a module and not for my own use, I don't know if webmaster has setup any support department. Sure I can query database to find it, but in this case the code goes much longer. As you can see I've a setting for the module where the webmaster will choose to use a support ticket or use standard emailing. For that standard emailing option I wanted the API call.
  13. I'm self teached so API was (and still is), just a word with general meaning. But I like the fact that I was able to do some simple things with just 5-6 lines of code. Same with hooks, something that appears to be like a piece of cake for you, looking in your great collection of hooks. My congratulations.
  14. Good question and I'll reply if you promise that you'll not laugh 🙃 To avoid loading phpmailer, templates, and replacing variables ðŸĪŠ
  15. @steven99 Thank you. This is what I understood, but I had a hope that maybe I missed something from the API documentation. Don't know why they don't add an API call to send general emails. Actually is easy to bypass this limitation in 3 easy steps, I tried and it worked fine, but don't like to use it. All 3 with API calls Create a Client and get clientid Send the message with that clientid Delete the Client
  16. Hello, Even if on the API documentation for SendEmail it marks as Optional the field id (The related id for the type of email template. Eg this should be the client id for a general type email), I assume that is a typo. But I gave a try by adding 'email' => 'myemail@mydomain.com', or 'customemail' => 'myemail@mydomain.com' without any luck. What I want to know is if there is a way to send an email, like the one that system send for contact form message, using API. I mean when I can pass as parameter only an email address and not any id. Thank you Chris
  17. So easy 🙂 .... I've wrote even 5 lines of code, trying to make it working. And it was just that "->" 🙂 Thank you
  18. Have messed my mind 😞 This code: $currencyData = getCurrency($userId); $amount = 82; $full_amount = formatCurrency($amount, $currencyData['id']); return $82.00 USD which is correct. Now I want to use toPrefixed() to show the price only with prefix. Even if I was expected that it does not works, I gave a try: toPrefixed($full_amount) but I got error: undefined function. Normal as it's a class. Sure I can remove suffix using substr($full_amount, 0, -4) but I want to learn the right way 🙂 Thank you
  19. Hello, @brian! gave me a great function to use to format dates. fromMySQLDate($decodedata[$key]["postdate"],true,true); I wonder if there is any similar function to format a number with currency settings. Perfectly for user settings but even with global settings is fine for me. Thank you Chris
  20. Thank you @brian! The funny is that I read that page a few minutes only, prior my post, but didn't noticed that paragraph.
  21. I'm thinking to enable affiliate system but only for specific clients. Is this possible? Or by enabling it, every client can assign as affiliate? If Yes, second question is if it's possible to have different commission tier per client? eg Client A 20%, Client B 30% But from what I can imagine this is not possible without using external software. Thank you Chris
  22. @brian! This works fine. Once more, really appreciate your help!! function add_logo_to_products_array_hook($vars) { if ($vars['templatefile'] == "products") { $products = $vars['products']; foreach ($products as $key => $product) { $logodetails = Capsule::table('tblproducts')->where('id',$product['pid'])->value('mod_logo'); $products[$key]['mod_logo'] = $logodetails; } return array("products" => $products); } } add_hook("ClientAreaPageCart", 1, "add_logo_to_products_array_hook");
  23. @brian! Thank you so much. I'll try to figure out how to resolve this issue reading those posts. I do agree that is better (and more secure) to deal with separate tables, this is what usually I'm doing. But this time is just a field. As this field holds an image filename I think that I'll use a fast and dirty solution merging the image tag at the top of $product.description and then save the full code to description field. This way should be always available. But first I want to try out the normal way. Currently I'm doing test modifying this code: // Products List function ct_product_list($vars) { global $product; if ($product["id"] > 0) { $ct_product = Capsule::table('tblproducts') ->where('id','=',$product["id"]) ->orderBy('id','asc') ->first(); $product["mod_logo"] = $ct_product->mod_logo; array_push($products, $product); } return; } // Hooks add_hook("ClientAreaPage",1,"ct_product_list");
  24. I'm trying to show the value of a product field (have manually added to tblproducts table) to appear in: products.tpl which means I want to add {$product.myfield} in the $products array viecart.tpl which means I want to add {$product.productinfo.myfield} in the $products.productinfo array (2) is not so important, but is good to know if it can be add. When I started dealing with task I thought that all fields of tblproducts table should be available, but have been mistaken. Using {$products|print_r} in the template I seen that only a few fields are available. After all, I think that using hooks is the only way to do it (if it's possible even with hooks). Thank you Chris
  25. Maybe a bit out of topic, but what I can say is that you definitely did a correct start with OX App Suite. Didn't knew that App at all but lately I registered for a 2 months free trial with Namecheap and I've been surprised with this App. And all this, just testing the Mail section which works perfect. I assume that cloud storage and office documents should be the same quality. I don't deal with Hosting services to use it in my website but for sure I'll use it for my own use. Chris
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated