Popular Content

Showing content with the highest reputation since 02/16/2018 in all areas

  1. 2 points
    Is there an action for flagging as spammer? I do not remember on top of my head, so my suggestion is kinda rough, but something like this. Create a custom data field of integer type, connected to a member that contains number of reports. Rule 1: Event: Content is reported Action: Add +1 to the created custom data field. Rule 2: Event: Custom field is updated Condition: is the value of the created custom field > 5 Action: flag member as spammer Something like that. Sorry, I am a bit tired, so it probably needs a lot of work to get it going, just a direction you can think about.
  2. 2 points
    Write the last login date/time in a custom data field attached to member, lets call it "Last login time". But do that in the end of your actions. Something like this: Event: User logs in Condition: Compare the current date/time with the custom data field "Last login time" that you will create Action1: Do whatever you want to do. Action 2: update "Last login time" with the current time. Keep in mind that many members save their login, I am not sure if the event is triggered in this case.
  3. 2 points
    I get this question a lot. But it doesn't quite work that way. Apps implement a rules extension on their own. Rules doesn't extend them. The rules extension is what tells Rules how to use any available events, conditions, and actions available for a particular app, and is a component that gets packaged with the app itself. I dont maintain or distribute the "such and such" app so I dont have a way to include that extension myself. But I've been pretty open in my offer to help other app authors add a custom rules extension to their apps if they need help with that. They just need to come to me with an idea of what events, conditions, or actions they want to add and provide me with a dev copy of their app and I will happily help them get a baseline extension up and running for them to include in a future release. In the early days of rules, I actively pursued app authors on my own to offer my service of creating a rules extension for their app for them while considering what ECA's would be a good fit, and aftwr I would build it on goodwill and send it to them, some would not even include it since they didnt really understand the benefits. So I built extensions that never even got rolled into the other app by the app author. I'm too busy for that these days. I am happy to help, but only on specfic request and in cooperation with the app author themselves.
  4. 1 point
  5. 1 point
    Just off the top of my head, you're probably going to need to first create an action which records the number of reports for each member. Assuming that you're starting this after members already have been flagged for something in the past. Once you have that record of reports, the action will be to look at the record and see if it >= X. If it equals X then flag as spammer. Hope this helps!
  6. 1 point
    HI @Kevin Carwile, Could you please include events related to invoices in a future revision of Rules? Right now the Commerce module only looks for product-related events, but it would be logical to be able to execute actions when an invoice is created, paid, cancelled, expires, etc. etc. RIght now I don't see that in the Content: Commerce menu. Thanks!
  7. 1 point
    EDIT: I finally figured out that the invoice tracking options are there, but due to the fact that the drop-down menu isn't scaled for a laptop screen I had to shrink my browser view to 90% in order to see the rest of the drop-down menu (a previously reported issue). The invoice options are in Commerce and not Content: Commerce, which is more than slightly confusing.
  8. 1 point
    Rules is extremely powerful app, but not the most user friendly, that's a known fact. This prevents it from getting popularity it deserves both with the members and other developers. My suggestion here is to fix the issue with user friendliness, of course if it is possible. So, we can export our rules as XML and give them to others. shortening the path for them, but unfortunately this does not improve the user friendliness by much. You can serve a perfect rule on a plate, if the other side does not understand it, they won't be able to make the small tweaks required to customize a rule for their use case and we are back at the start. My suggestion is to build another layer in the app, allowing us to export rules as a plugin with settings. So the other users won't have to modify the events/conditions/actions, they will just change a few settings that we expose to them. For a simple example lets take the "send member a welcome pm" use case. Right now you need to create event (member is validated) and action (send the pm from this author). The last sentence is in foreign language for almost all people. It will be much better if I can create the "rules" logic and export it as a plugin that has two setting fields - one for sender, one for the message and thats it. The end user just needs to have the core of the Rules installed and they don't have to care about events, conditions and actions, this is all taken care of under the hood. This will allow many of us to share our creative rules in a way that is simple for the others and won't require excessive support. Right now I do have some creative stuff (I think) and I do have even bigger ideas. But I definitely don't want to provide my ideas on the marketplace and be forced to deal with all the questions that will come with the more complicated rules. So it will look like this: Kevin - develops and supports the core, everyone will have to have this. People like me - provide creative rules as plugins. The heavy lifting of the development will be taken care of in the core, we can use our creativity to develop final solutions for the ordinary users. We will also support our plugins with answering questions, improvements, etc. Ordinary users - they will buy the plugins and the core. So no contribution from their part, except increasing the popularity of the app and the plugins and providing monetary compensation to the other two layers. I hope this is doable and I am sure it can bring some life in to the application, because I frankly think right now it is almost abandoned. There haven't been any new features related to 4.2 and 4.3 and even though @Kevin Carwile supports it with the rare bug fix here and there the development to me is far from where it needs to be.
  9. 1 point
    You can try to use the existing Event "Member profile is updated" for your needs. You only will need to find out a way, how to make the rule trigger only once as for adding (changing) a group as well as for removing it.
  10. 1 point
    Ok. Please try using this patch file and see if you have a different result. ./applications/collab/hooks/ipsMember.php ipsMember.php
  11. 1 point
  12. 1 point
    Hi, Group Owner who is bringing over his 1700 member group wanted me to ask about two items, which I thought were reasonable suggestions: 1. Add "Join" button to cover photo. He's trying to attract non-community members, and there's no "register" or "sign in" button within the collab to get them logged in. 2. Add email invitations to non-community members in Manage Members. Same as above, he has no way of reaching out to invite them directly to his new group.
  13. 1 point
    Use subrules for "case" like functionality. Any common conditions that apply to all the rules in the group can be added to the parent rule, and then subrules can take advantage of the individual conditions you mentioned, while each has their own set of actions.
  14. 1 point
    Thanks. The action you want to select is the one for creating a new private conversation. For the sender, use the manual config and type the name of the account you want to use. For the message content, just use one of the available tokens listed at the top of the page.
  15. 1 point
    No. getRulesData and setRulesData operate on one piece of data per key. If your data happens to be an array. You can add or remove items from the array, but that is not a rules function, thats just basic php array manipulation.
  16. 1 point
    Ok, so the float value is being truncated to 2 decimals because of the way that the float database column is created when adding the float custom data field. It is created as a float value of length 22,2 which means that it will only support 2 decimal places. I changed that so that float custom data fields will have a specification of 22,10 which means that they will support up to 10 decimal places. ./applications/rules/sources/Data/Data.php Data.php As for the number format including a comma instead of a decimal. I don't know where that $value from your code example is coming from, but it likely contains a localized number format which uses comma as a decimal separator. This could be done by your browser upon submission or it could be in the source of where you get that $value from. Instead, process the value to the correct format in your custom php code. When you use the actual number form entry field from the edit page of the image, when the value is processed by the number field on the backend, the format is standardized, which is why it works when you edit the image.
  17. 1 point
    $collab_id = 1; // Collab to load $collab = \IPS\collab\Collab::load( $collab_id ); $logo = \IPS\File::get( 'collab_Logos', $collab->logo ); $image_url = $logo->url;
  18. 1 point
    Declaring a named function in your php code is going to cause a fatal error if the code is ran more than once, since you cannot redeclare a function name in PHP once it has been declared. You should use an anonymous function instead.
  19. 1 point
    As I said before (and before you changed the topic title), im not going to compare clubs that comes with IPS to one of the more expensive apps. An idiot should know something you pay that much for, should / is better. Im saying you should get a little more with it. Seems like you get the bare-bones of this "Club++" with no real documentation. Honestly at this point, it seems abandoned with one fanboy lurking around that's pointlessly arguing with someone who is trying to make the app better with some feedback.
  20. 1 point
    Why compare a feature that comes with IPS to a $75 + $55 renewal fee asset... Clubs was introduced on 4.2 and was the first iteration of the feature, in 4.3 they plan to revamp it. The Clubs vs this asset is a different conversation entirely but to amuse you, clubs gives you a widget that isnt just a blank table, i can grab club info wherever + this asset is just Clubs just with categorization, simple external roles and having a forum addon. You would think for what you pay it would come with decent support/flexibility. Also im not interested in fanboy arguments, just wanted to state my points.
  21. 1 point
    Yeah i wouldnt say that... Styling and flexibility is 2 things that totally lack in it and support. Made a topic about accessing the collab header under a guest account and he wont approve my other posts under it, nor reply back.... Deafult header is meh. And the widget customization is mega meh so just changed em but he still doesnt reply/approve my other questions
  22. 1 point
    I'm proud to be one of the first six users, who support Kevin's application by purchasing it on the marketplace I hope, that being a part of Miller Media and starting to get payments for the Points Economy application, Kevin will also start to consider implementing new features to this great application! I've checked trough the topics in this category, and found many good ideas worth to be implemented. I summarize them here for easy search and analysis: Besides of the gaming plan you wrote in the second post of this topic, the other good ideas are: - more graphs on the Economy Dashboard; - new widgets: 1) showing the Top-X users who got most points within a specific time period (day/week/month/year), 2) showing the most *rich* people among the users, who have points in a specific currency. (this info we have in the ACP, great to have it available somewhere on the forum). - ability to adjust points manually for the specific users groups (moderators) on the front end (without using the ACP), - Donations - When changing points from one currency to another, there should be a field somewhere on the Economy Dashboard, showing the current exchange rate between these currencies; - Reactions support! Would be great to find out the solution for this issue - the whole reputation system is currently out of our control which is very bad... By the way, the new addon called "Points" has the new Reaction system support: the points can be earned/lost according to the reaction given!
  23. 1 point
    This recipe adds a custom data field to forums which can be used to make topics posted in the forum automatically expire after a set number of hours. A custom action is used to schedule the locking of the topic at the given time. This recipe could easily be tweaked to extend the scheduled lock time if the topic author re-posts or under some other condition. auto-expire-topics.xml
  24. 1 point
    It is fairly common to have an action or set of actions that you would like to perform on a piece of content (or member) only after a certain amount of time has elapsed between particular events. For example, you might want to: Close a topic automatically a certain amount of time after it was created. Move a topic to a different forum if it hasn't been posted in for a certain amount of time. Send members a polite follow up email if they haven't logged in for a specified period of time. There is a simple pattern that you can use in all of these cases, which isn't so obvious to those that are new to rules, but is very easy to implement once you understand how it works. Why does this work? It's in the keyphrase. Let's take a look at example #2 above. We want to move the topic if it hasn't been posted in for 3 weeks. So what we do is to create an action to move the topic to the new location, and schedule that action for 3 weeks in the future instead of executing it immediately. This way each time a post is made in the topic, the move gets rescheduled. It's important to use a keyphrase that will be unique to that topic, so we must include a token in the keyphrase such as the topic id. It could look something like this: "Move topic [content:id] to graveyard". Of course, the token that corresponds to the id of what you are trying to move will depend on the event that you are writing your rule for, so make sure to look at the tokens list to see which token corresponds to your content id. But the concept is pretty simple. With every post, we assume that it is going to be the last post that happens... and we schedule the future action for the set amount of time in the future. If another person posts in the topic, we simply schedule the future action again which removes any previously scheduled follow up action with the same keyphrase, and sets in motion the new follow up action. This way the only follow up action that is in motion for the topic is the one which was scheduled after the last time the chosen event occured (in this case, it's when a topic comment is posted). If no qualified event happens within the timeframe between the last action and the follow up action which causes the follow up to be rescheduled, then the follow up action executes and the cycle ends.
  25. 1 point
    Synopsis Unlock and create all new features on your site by attaching rules to commerce events. A solution is available which adds the following ECA’s to rules. Events: Automate site features based on commerce events An invoice is marked paid/unpaid A product line item has been paid/unpaid on an invoice A product renewal has been paid/unpaid on an invoice A product purchase has been generated A product purchase expiration has been changed A product purchase has expired A product purchase has been cancelled A product purchase has been deleted An expired product has been re-activated A product purchase has been transferred to a new customer A payment has been received on an invoice A payment has been refunded on an invoice A payment has been blocked by a fraud rule A fraud rule has been checked Conditions: Easily check for commerce conditions Check for a specific product or products Check if a product is in a certain product group Check if an invoice has specific products on it Check if an invoice has a particular status Check if a member has purchased certain products Check the status of a transaction Check the method of a payment Actions Change the status of an invoice Trigger a fraud rule match Advanced Fraud Prevention: Check for specific situations using advanced fraud rules This expansion unlocks the full power of the MaxMind fraud feedback service and allows you to create advanced fraud rules which use the full range of available fraud data for every transaction. The following data is made available for you to use in rules: Documentation: http://dev.maxmind.com/minfraud/#Output Risk Score: The risk score of the transaction Proxy Score: The risk score of the users IP address Anonymous Proxy: Indicates if proxy is anonymous Corporate Proxy: Indicates if proxy is corporate Country Match: Indicates if IP country matches the billing address. City/Postal Match: Indicates if the city matches the postal code Phone Match: Indicates if phone number is in billing area High Risk Country: Indicates if IP country is high risk High Risk Shipping: Indicates if shipping address is high risk IP/Billing Distance: Distance in KM between IP and billing address IP Accuracy: Accuracy radius of the IP location IP City Name: The city associated with the IP address IP Region Name: The region associated with the IP address IP Country Name: The country associated with the IP address IP Region Code: The region code of the IP address IP Postal Code: The postal code of the IP address IP Metro Code: The metro code of the IP address IP Country Code: The country code of the IP address IP Continent Code: The continent code of the IP address IP Latitude: The latitude of the IP address IP Longitude: The longitude of the IP address IP Timezone: The timezone of the IP address IP Autonomous System Number IP User Type IP Connection Type IP Provider IP Organization Region Confidence Rating Postal Confidence Rating Country Confidence Rating MaxMind Error