Akciók (actions) futtatása

d.pryke képe

Sziasztok!

Van egy workflow-m, aminek 2 állapota van: "szerkeszthető" és "nem szerkeszthető". Hozzá persze a workflow modullal ennek megfelelően az állapotokra meg vannak adva bizonyos jogosultságok. Minden hónap 2-án szeretném a honlap összes tartalmát (melyre a fenti workflow értelmezve van) "nem szerkeszthető" workflow státuszba állítani.

Addig jutottam, hogy az actions (akciók) modulba létrehoztam egy akciót ami egy node státuszát "nem szerkeszthető"-re állítja.

Most már csak azt kellene megoldani, hogy
a., vagy egy gomb megnyomásának (akár egy node megnyitásának) hatására ez az action lefusson MINDEN adott típusú nodera. (minden hónap 2.-án megnyomja valaki a gombot)

b., vagy pedig megoldani, hogy minden hónap 2-án lefusson a dolog. (a cront nem jó ha havi egyszer, azaz 2-án futtatjuk mert más okból sűrűbben le kell futnia így gondolom ez bonyolultabb)

Van valakinek ötlete, megoldási javaslata? (php kódolásban nem vagyok igazán jártas.)

köszi előre is!

Fórum: 
aboros képe

de az akciók futtatását triggerekhez lehet kötni a trigger modullal (core). (az akciókat eseményekhez lehet kötni. ekcsönszkript hasonlattal tudok élni, ahol 'eventek' vannak amikhez 'listener' -ekkel lehet eseméyneket kötni. ha bekövetkezik az esemény, meghívódik a listener. itt dettó, ha a trigger 'szagot fog' meghívja az ekcsönt.)

0
0

-
clear: both;

d.pryke képe

kérdés/probléma merült fel:
- nem találtam olyan triggert amihez kötni tudnám. Tehát pl egy tartalom beküldéséhez vagy valami hasonlóhoz (ami a triggerek közt szerepel) kötni nem túl elegáns megoldás
- ha még ehhez kötném is, nem látom, hogy hol adom meg, hogy az action a trigger hatására MELY nodeokra fusson le (esetemben minden már beküldött nodera le kell futnia, melyre értelmezve van az a workflow)
Van esetleg más ötleted vagy Tudod a második kérdés áthidalását?
köszönöm előre is!

0
0
aboros képe

saját moduljaid definiálhatnak és menthetnek is változókat a {variables} táblába a variable_set és variable_get hívásokkal. én azzal próbálkoznék, hogy a saját modulom hook_cron -jában egy ilyen általam mentett változót figyelnék. a változóba azt menteném, hogy mikor futott utoljára ez a cron, és ha ez több mint mondjuk 30 nap, akkor lefuttatom amit akarok, aztán elmentem a változómba az aktuális dátumot.

azt is csinálhatod, hogy a hook_cron -ban egy sima php date -el megnézed, hogy mi az aktuális dátum és ha nem másodika akkor semmi, ha másodika, akkor futás.

(szerk: most nézem, hogy php kódolásban nem vagy igazán jártas, sajnálom, én csak ezt a megoldást tudtam hirtelen kiötölni, ehhez viszont nem árt némi jártasság, legalább alap szintű)

0
0

-
clear: both;