/** * Agafa tots els usuaris de l'entitat i hi guarda la línia. Els canvis s'han de repetir a Intranet * @param $accio = Quina acció ha realitzat ( Alta , baixa, etc... ) * @param $ON = A quina part de l'aplicatiu * @param $qui = Qui ha fet aquesta acció * @param $idS = Entitat que està fent l'acció * @param Accions: Contactes, Taulell, Material, Cessió, Reserva d'espais, Incidències, Horaris ( canvi ), Cursos, Matrícula, Cicle, Entrada, Usuari, email-llista, Notícia, * */ public static function addLogTimeline($accio, $ON, $qui, $idS, $idElement) { //Si estem fent una operació sobre "HOspici" marquem l'arxiu de l'Hospici. if ($idS == 0) { $time = time(); $REG = "<dades>"; $REG .= "<quan>" . $time . "</quan>"; $REG .= "<accio>" . $accio . "</accio>"; $REG .= "<lloc>" . $ON . "</lloc>"; $REG .= "<qui>" . $qui . "</qui>"; $REG .= "<site>" . $idS . "</site>"; $REG .= "<id>" . $idElement . "</id>"; $REG .= "</dades>" . PHP_EOL; file_put_contents(getcwd() . '/timelines/log_0.txt', $REG, FILE_APPEND); //Sinó marquem a tots } else { $A_OUS = UsuarisSitesPeer::getSitesUsers($idS); //Per cada usuari, guardem al seu registre foreach ($A_OUS as $OUS) { $time = time(); $REG = "<dades>"; $REG .= "<quan>" . $time . "</quan>"; $REG .= "<accio>" . $accio . "</accio>"; $REG .= "<lloc>" . $ON . "</lloc>"; $REG .= "<qui>" . $qui . "</qui>"; $REG .= "<site>" . $idS . "</site>"; $REG .= "<id>" . $idElement . "</id>"; $REG .= "</dades>" . PHP_EOL; file_put_contents(getcwd() . '/timelines/log_' . $OUS->getUsuariId() . '.txt', $REG, FILE_APPEND); } } }
public function executeGConfigSuperAdmin(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->accio = $request->getParameter('accio', 'C'); $RSITES = $request->getParameter('sites', array('site_id' => 1)); $this->FSITES = SitesPeer::initialize($RSITES['site_id']); $this->SITE = $request->getParameter('SITE', ''); if ($request->hasParameter('BSAVESITE')) { $this->accio = 'SAVE_SITE'; } if ($request->hasParameter('BDELETESITE')) { $this->accio = 'DELETE_SITE'; } if ($request->hasParameter('BSAVEUSERSITE')) { $this->accio = 'SAVE_USER_SITE'; } if ($request->hasParameter('BDELETEUSERSITE')) { $this->accio = 'DELETE_USER_SITE'; } if ($request->hasParameter('BSEARCHUSERSITES')) { $this->accio = 'SEARCH_USER_SITES'; } if ($request->hasParameter('BSAVEUSERMENU')) { $this->accio = 'SAVE_USER_MENU'; } switch ($this->accio) { case 'SAVE_SITE': $this->FSITES->bind($RSITES); if ($this->FSITES->isValid()) { $this->FSITES->save(); $this->getUser()->addLogAction($this->accio, 'gConfigSuperAdmin', $this->FSITES->getObject()); $this->FSITES = SitesPeer::initialize($this->FSITES->getObject()->getSiteId()); } break; case 'DELETE_SITE': $this->FSITES->getObject()->setActiu(false)->save(); $this->getUser()->addLogAction($this->accio, 'gConfigSuperAdmin', $this->FSITES->getObject()); $this->FESPAIS = SitesPeer::initialize(0, $this->IDS); break; case 'SAVE_USER_SITE': $RP = $request->getParameter('dades'); foreach ($RP as $RS) { if ($RS['IDU'] > 0 && $RS['IDN'] > 0 && $this->SITE > 0) { $OUS = UsuarisSitesPeer::initialize($RS['IDU'], $this->SITE, false)->getObject(); $OUS->setNivellId($RS['IDN']); $OUS->setActiu(true); $OUS->save(); } } $this->LUSERSITES = UsuarisSitesPeer::getSitesUsers($this->SITE, true); break; case 'DELETE_USER_SITE': $USUARI = $request->getParameter('USUARI'); $SITE = $request->getParameter('SITE'); $OUS = UsuarisSitesPeer::initialize($USUARI, $SITE)->getObject(); if (!$OUS->isNew()) { $OUS->setActiu(false); $OUS->save(); $this->LUSERSITES = UsuarisSitesPeer::getUserSites($this->SITE); } break; case 'SAVE_USER_MENU': $IDS = $request->getParameter('MENU_SITES'); $IDU = $request->getParameter('MENU_USUARIS'); $LMENUS = $request->getParameter('MENU_DISPONIBLES'); if (!empty($LMENUS)) { UsuarisMenusPeer::doUpdateMy($IDU[0], $IDS[0], $LMENUS); } break; case 'SEARCH_USER_SITES': $IDS = $this->FMENUUSUARI->getValue('IDS'); $IDU = $this->FMENUUSUARI->getValue('IDU'); if (!empty($IDS)) { $this->FMENUUSUARI->setWidgetUsers(); if (!empty($IDU)) { $this->LMENUSUSUARI = GestioMenusPeer::getMenusUsuariArray($IDU, $IDS); } } break; default: break; } //Cerquem per SITE, que és més fàcil //Mirem quins usuaris hi ha a un SITE relacionats com a adminstradors //Mirem quins menús tenen els usuaris d'un SITE en general (els menús del primer usuari) $OS = SitesPeer::retrieveByPK($this->SITE); if ($OS instanceof Sites) { $this->LUSERSITES = UsuarisSitesPeer::getSitesUsers($this->SITE, true); $this->LMENUSUSUARI = GestioMenusPeer::getMenusUsuariArray($this->USUARI, $this->SITE); } else { $this->USUARI = 0; $this->LUSERSITES = array(); $this->LMENUSUSUARI = array(); } $this->FMENUUSUARI = new ConfigSuperAdminMenusForm(null, array('IDS' => $this->IDS)); $this->FMENUUSUARI->bind($request->getParameter('super_admin_menus')); }
/** * Agafa tots els usuaris de l'entitat i hi guarda la línia. * @param $accio = Quina acció ha realitzat ( Alta , baixa, etc... ) * @param $ON = A quina part de l'aplicatiu * @param $qui = Qui ha fet aquesta acció * @param $idS = Entitat que està fent l'acció * @param Accions: Contactes, Taulell, Material, Cessió, Reserva d'espais, Incidències, Horaris ( canvi ), Cursos, Matrícula, Cicle, Entrada, Usuari, email-llista, Notícia, * */ public static function addLogTimeline($accio, $ON, $qui, $idS, $idElement) { $A_OUS = UsuarisSitesPeer::getSitesUsers($idS); //Per cada usuari, guardem al seu registre foreach ($A_OUS as $OUS) { $time = time(); $REG = "<dades>"; $REG .= "<quan>" . $time . "</quan>"; $REG .= "<accio>" . $accio . "</accio>"; $REG .= "<lloc>" . $ON . "</lloc>"; $REG .= "<qui>" . $qui . "</qui>"; $REG .= "<site>" . $idS . "</site>"; $REG .= "<id>" . $idElement . "</id>"; $REG .= "</dades>" . PHP_EOL; file_put_contents(getcwd() . '/timelines/log_' . $OUS->getUsuariId() . '.txt', $REG, FILE_APPEND); file_put_contents(getcwd() . '/timelines/log_general.txt', $REG, FILE_APPEND); } }