public function __construct($rrootDb, $id = '') { $this->mLog = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLogger(); $this->mWebServicesLog = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/webservices.log'); $this->mId = $id; if (is_object($rrootDb)) { $this->mrRootDb = $rrootDb; } else { $this->mLog->logEvent('innomatic.webservicesaccount', 'Invalid Innomatic database handler', \Innomatic\Logging\Logger::ERROR); } if ($this->mId) { $acc_query = $this->mrRootDb->execute('SELECT * ' . 'FROM webservices_accounts ' . 'WHERE id=' . (int) $this->mId); if ($acc_query->getNumberRows()) { $acc_data = $acc_query->getFields(); $this->mName = $acc_data['name']; $this->mHost = $acc_data['host']; $this->mPort = $acc_data['port']; $this->mPath = $acc_data['path']; $this->mUsername = $acc_data['username']; $this->mPassword = $acc_data['password']; $this->mProxy = $acc_data['proxy']; $this->mProxyPort = $acc_data['proxyport']; } else { $this->mLog->logEvent('innomatic.webservicesaccount', 'Invalid account id', \Innomatic\Logging\Logger::ERROR); } } }
public static function ajaxGetDashboardWidget($name) { $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $objResponse = new XajaxResponse(); $xml = '<void/>'; $domain_da = $container->getCurrentDomain()->getDataAccess(); $perm = new \Innomatic\Desktop\Auth\DesktopPanelAuthorizator($domain_da, $container->getCurrentUser()->getGroup()); // Check if the widget exists in the widgets list $widget_query = $domain_da->execute('SELECT * FROM domain_dashboards_widgets WHERE name=' . $domain_da->formatText($name)); if ($widget_query->getNumberRows() > 0) { $allowed = true; $panel = $widget_query->getFields('panel'); // Do not show widgets tied to a panel when the panel is not accessible to the current user if (strlen($panel)) { $node_id = $perm->getNodeIdFromFileName($panel); if ($perm->check($node_id, \Innomatic\Desktop\Auth\DesktopPanelAuthorizator::NODETYPE_PAGE) == \Innomatic\Desktop\Auth\DesktopPanelAuthorizator::NODE_NOTENABLED) { $allowed = false; } } if ($allowed) { $class = $widget_query->getFields('class'); // Check if the class exists if (class_exists($class, true)) { // Fetch the widget xml definition $widget = new $class(); $xml = $widget->getWidgetXml(); } } } // Create the widget html and send it to the dashboard $html = WuiXml::getContentFromXml('', $xml); $objResponse->addAssign('widget_' . $name, 'innerHTML', $html); return $objResponse; }
public function __construct(\Innomatic\Dataaccess\DataAccess $rrootDb, $application, $itemId, $domainId = 0, $userId = 0) { $this->cachePath = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/temp/cache/'; $domainId = (int) $domainId; $userId = (int) $userId; $this->mrRootDb = $rrootDb; if (!$rrootDb->isConnected()) { $this->mResult = CachedItem::ITEM_NOT_FOUND; } else { if (strlen($itemId) and strlen($application)) { $this->mItemId = $itemId; $this->mApplication = $application; $this->mDomainId = $domainId; $this->mUserId = $userId; $item_query = $this->mrRootDb->execute('SELECT itemfile,validator,domainid,userid FROM cache_items WHERE application=' . $this->mrRootDb->formatText($this->mApplication) . ' AND itemid=' . $this->mrRootDb->formatText($this->mItemId) . ($domainId ? ' AND domainid=' . $domainId : '') . ($userId ? ' AND userid=' . $userId : '')); if ($item_query->getNumberRows()) { $this->mValidator = $item_query->getFields('validator'); $this->mItemFile = $this->cachePath . $item_query->getFields('itemfile'); $this->mDomainId = $item_query->getFields('domainid'); $this->mUserId = $item_query->getFields('userid'); $this->mResult = CachedItem::ITEM_FOUND; } else { $this->mResult = CachedItem::ITEM_NOT_FOUND; } } } }
protected function generateSource() { $registry = \Innomatic\Util\Registry::instance(); if (!$registry->isGlobalObject('singleton xlayersmenu')) { $mid = new \Innomatic\Wui\Widgets\Layersmenu\XLayersMenu(); $registry->setGlobalObject('singleton xlayersmenu', $mid); } else { $mid = $registry->getGlobalObject('singleton xlayersmenu'); } $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $mid->libdir = $container->getHome() . 'core/lib/'; $mid->libwww = $container->getBaseUrl(false) . '/shared/'; //$mid->tpldir = $container->getHome().'core/conf/'; $mid->imgdir = $this->mThemeHandler->mStyleDir; $mid->imgwww = $this->mThemeHandler->mStyleBase . $this->mThemeHandler->mStyleName . '/'; //$mid->imgdir = $container->getHome().'shared/'; //$mid->imgwww = $container->getBaseUrl(false).'/shared/'; $mid->setMenuStructureString($this->mMenu); $mid->setDownArrowImg(basename($this->mThemeHandler->mStyle['arrowdownshadow'])); $mid->setForwardArrowImg(basename($this->mThemeHandler->mStyle['arrowrightshadow'])); $mid->ParseStructureForMenu($this->mName); //$mid->NewHorizontalMenu( $this->mName ); $mid->newPlainMenu($this->mName); //$mid->setPHPTreeMenuDefaultExpansion("67|68|82"); $mid->newPHPTreeMenu($this->mName); $mid->newTreeMenu($this->mName); //$mid->newVerticalMenu("vermenu1", 12); $mid->newVerticalMenu($this->mName); //$mid->setMenuStructureString($menustring); //$mid->parseStructureForMenu("vermenu1"); $this->mLayout = ($this->mComments ? '<!-- begin ' . $this->mName . ' treevmenu -->' : '') . (isset($GLOBALS['gEnv']['runtime']['wui_menu']['header']) ? '' : $mid->MakeHeader()) . $mid->getTreeMenu($this->mName) . ($this->mComments ? '<!-- end ' . $this->mName . ' treevmenu -->' . "\n" : ''); $GLOBALS['gEnv']['runtime']['wui_menu']['header'] = true; $GLOBALS['gEnv']['runtime']['wui_menu']['footer'] = $mid->MakeFooter(); return true; }
public function callHooks($event, $obj, $args = '') { $result = false; if ($this->rootdataaccess) { $query = $this->rootdataaccess->execute('SELECT * FROM hooks WHERE functionapplication=' . $this->rootdataaccess->formatText($this->application) . ' AND function=' . $this->rootdataaccess->formatText($this->function) . ' AND event=' . $this->rootdataaccess->formatText($event)); if ($query) { $result = Hook::RESULT_OK; $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); while (!$query->eof) { $data = $query->getFields(); if ($innomatic->getState() == \Innomatic\Core\InnomaticContainer::STATE_DEBUG) { $dump = \Innomatic\Debug\InnomaticDump::instance('\\Innomatic\\Debug\\InnomaticDump'); $dump->hooks[$this->application . '::' . $this->function . '::' . $event][] = $data['hookhandler'] . ' - ' . $data['hookmethod']; } require_once 'shared/hooks/' . $data['hookhandler']; // let the 'class::function' syntax be accepted in dispatch maps if (is_string($data['hookmethod']) && strpos($data['hookmethod'], '::')) { $data['hookmethod'] = explode('::', $data['hookmethod']); } // verify that function to be invoked is in fact callable if (!is_callable($data['hookmethod'])) { continue; } $func_result = call_user_func($data['hookmethod'], $obj, $args); if ($func_result == Hook::RESULT_ABORT) { $result = Hook::RESULT_ABORT; } $query->moveNext(); } } } return $result; }
public function execute() { $result = true; // TODO Update version check // PHP version check if (!(ereg("[4-9]\\.[1-9]\\.[0-9].*", phpversion()) or ereg("[5-9]\\.[0-9]\\.[0-9].*", phpversion()))) { $result = false; } // File upload support if (!(ini_get('file_uploads') == '1')) { $result = false; } // XML support if (!function_exists('xml_set_object')) { $result = false; } // Zlib support if (!function_exists('gzinflate')) { $result = false; } // Database support if (!(function_exists('mysqli_connect') or function_exists('pg_connect'))) { $result = false; } // Applications extensions $app_deps = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT moddep FROM applications_dependencies WHERE moddep LIKE ' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->formatText('%.extension')); while (!$app_deps->eof) { $dep = substr($app_deps->getFields('moddep'), 0, -10); if (!extension_loaded($dep)) { $result = false; } $app_deps->moveNext(); } return $result; }
public function getHTML() { $locale_catalog = new \Innomatic\Locale\LocaleCatalog('innowork-core::misc', InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentUser()->getLanguage()); $theme = \Innomatic\Wui\Wui::instance('\\Innomatic\\Wui\\Wui')->getTheme(); $icon = $theme->mIconsBase . $theme->mIconsSet['light']['trash']['base'] . '/light/' . $theme->mIconsSet['light']['trash']['file']; return '<a href="' . \Innomatic\Wui\Dispatch\WuiEventsCall::buildEventsCallString('1innoworkcore', array(array('view', 'trashcan', ''))) . '" alt="' . $locale_catalog->getStr('trashcan.menu') . '"><img width="25" height="25" align="right" src="' . $icon . '" alt="' . $locale_catalog->getStr('trashcan.menu') . '" /></a>'; }
/** * Updates composer dependencies. */ public function updateDependencies() { $container = InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); // Keep track of the current directory $previousDirectory = getcwd(); // Retrieve the Innomatic Platform root directory $platformHome = RootContainer::instance('\\Innomatic\\Core\\RootContainer')->getPlatformHome(); // Switch current directory to the Innomatic Platform root chdir($platformHome); // Call composer install command $input = new ArrayInput(array('command' => 'update')); if ($container->getInterface() == InnomaticContainer::INTERFACE_CONSOLE) { $output = new ConsoleOutput(); } else { $output = new BufferedOutput(); } $application = new ComposerApplication(); // Prevent application run method from exiting the script $application->setAutoExit(false); $application->run($input, $output); // Switch back to the previous current directory chdir($previousDirectory); // Switch back to the standard Innomatic PHP error handler set_error_handler(array($container, 'errorHandler')); }
public function __construct($elemName, $elemArgs = '', $elemTheme = '', $dispEvents = '') { parent::__construct($elemName, $elemArgs, $elemTheme, $dispEvents); $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); if (isset($this->mArgs['hint'])) { $this->mHint = $this->mArgs['hint']; } if (isset($this->mArgs['value'])) { $this->mValue = $this->mArgs['value']; } if (isset($this->mArgs['disp'])) { $this->mDisp = $this->mArgs['disp']; } if (isset($this->mArgs['tabindex'])) { $this->mTabIndex = $this->mArgs['tabindex']; } if (isset($this->mArgs['country']) and strlen($this->mArgs['country'])) { $this->mCountry = $this->mArgs['country']; } else { if ($container->isDomainStarted()) { $this->mCountry = $container->getCurrentUser()->getCountry(); } else { $this->mCountry = $container->getCountry(); } } if (isset($this->mArgs['language']) and strlen($this->mArgs['language'])) { $this->mLanguage = $this->mArgs['language']; } else { if ($container->isDomainStarted()) { $this->mLanguage = $container->getCurrentUser()->getLanguage(); } else { $this->mLanguage = $container->getLanguage(); } } $this->mLocaleCountryHandler = new \Innomatic\Locale\LocaleCountry($this->mCountry); $this->mLocaleHandler = new \Innomatic\Locale\LocaleCatalog('innomatic::wui', $this->mLanguage); if (isset($this->mArgs['readonly'])) { $this->mReadOnly = $this->mArgs['readonly']; } if (isset($this->mArgs['type'])) { switch ($this->mArgs['type']) { case 'date': $this->mSize = 10; $this->mMaxLength = 10; $this->mType = $this->mArgs['type']; break; case 'time': $this->mSize = 8; $this->mMaxLength = 8; $this->mType = $this->mArgs['type']; break; case 'shorttime': $this->mSize = 5; $this->mMaxLength = 5; $this->mType = $this->mArgs['type']; break; } } }
public function __construct(\Innomatic\Dataaccess\DataAccessSourceName $dasn) { $this->dasn = $dasn; $this->innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); if ($this->innomatic->getConfig()->value('RootDatabaseDebug') == '1') { $this->debug = true; } }
public function __construct($groupid = 0) { $this->container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $this->mrRootDb = $this->container->getDataAccess(); $this->mrDomainDA = $this->container->getCurrentDomain()->getDataAccess(); $this->domainserial = $this->container->getCurrentDomain()->domaindata['id']; $this->groupid = $groupid; }
protected function _fillDefinition() { $result = false; $this->mDefinition = ''; if ($this->mArgs['frame'] == 'true') { $this->mDefinition .= '<horizframe><name>toolbarframe</name><children>'; } else { $this->mDefinition .= '<horizgroup><children>'; } if (is_array($this->mArgs['toolbars'])) { while (list($tbar_name, $tbar) = each($this->mArgs['toolbars'])) { if (is_array($tbar)) { $this->mDefinition .= '<' . ($this->mArgs['toolbar'] == 'true' ? 'toolbar' : 'horizgroup') . '> <name>' . $tbar_name . '</name> <children>'; while (list($button_name, $button) = each($tbar)) { $this->mDefinition .= '<button> <name>' . $button_name . '</name> <args><label type="encoded">' . urlencode($button['label']) . '</label><themeimage>' . (isset($button['themeimage']) ? $button['themeimage'] : '') . '</themeimage><themeimagetype>' . (isset($button['themeimagetype']) ? $button['themeimagetype'] : '') . '</themeimagetype><image>' . (isset($button['image']) ? \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/' . $button['image'] : '') . '</image><action type="encoded">' . urlencode(isset($button['action']) ? $button['action'] : '') . '</action>'; if (isset($button['needconfirm']) and isset($button['confirmmessage']) and $button['needconfirm'] == 'true' and strlen($button['confirmmessage'])) { $this->mDefinition .= '<needconfirm>true</needconfirm><confirmmessage type="encoded">' . urlencode($button['confirmmessage']) . '</confirmmessage>'; } if (isset($button['horiz'])) { $this->mDefinition .= '<horiz>' . $button['horiz'] . '</horiz>'; } if (isset($button['disabled'])) { $this->mDefinition .= '<disabled>' . $button['disabled'] . '</disabled>'; } if (isset($button['target'])) { $this->mDefinition .= '<target>' . $button['target'] . '</target>'; } if (isset($button['compact'])) { $this->mDefinition .= '<compact>' . $button['compact'] . '</compact>'; } if (isset($button['hint'])) { $this->mDefinition .= '<hint type="encoded">' . urlencode($button['hint']) . '</hint>'; } if (isset($button['formsubmit'])) { $this->mDefinition .= '<formsubmit>' . $button['formsubmit'] . '</formsubmit>'; } if (isset($button['nowrap'])) { $this->mDefinition .= '<nowrap>' . $button['nowrap'] . '</nowrap>'; } $this->mDefinition .= '</args> </button>'; } $this->mDefinition .= '</children> </' . ($this->mArgs['toolbar'] == 'true' ? 'toolbar' : 'horizgroup') . '>'; } } } if ($this->mArgs['frame'] == 'true') { $this->mDefinition .= '</children></horizframe>'; } else { $this->mDefinition .= '</children></horizgroup>'; } return $result; }
public static function domain_group_remove_groupremoved($obj, $args) { $domain_query = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT domainid FROM domains WHERE id=' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->formatText($args['domainserial'])); \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->startDomain($domain_query->getFields('domainid')); $tmp_domain = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain(); $tmp_domain->getDataAccess()->execute('DELETE FROM innowork_core_acls WHERE groupid=' . $args['groupid']); \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->stopDomain(); return Hook::RESULT_OK; }
/** * Class constructor. * * @since 5.1 */ public function ___construct() { $home = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome(); if (substr($home, -1) != '/' and substr($home, -1) != '\\') { $home .= DIRECTORY_SEPARATOR; } $this->home = $home; $this->config = new \Innomatic\Module\Server\ModuleServerConfig($this->home . 'core/conf/modules.ini'); }
/** * Class constructor. * * This method sets the Innomatic interface type to console and starts * Innomatic. * * @access public * @return void */ public function ___construct() { $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); // Set the Innomatic interface type to console $innomatic->setInterface(\Innomatic\Core\InnomaticContainer::INTERFACE_CONSOLE); $home = RootContainer::instance('\\Innomatic\\Core\\RootContainer')->getHome() . 'innomatic/'; // Start Innomatic $innomatic->bootstrap($home, $home . 'core/conf/innomatic.ini'); }
public function __construct($rootda, $userId = '') { $this->mLog = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLogger(); if ($rootda) { $this->mRootDb = $rootda; } else { $this->mLog->LogDie('innomatic.webservicesuser', 'Invalid Innomatic database handler'); } $this->mUserId = $userId; }
public function __construct(\Innomatic\Dataaccess\DataAccess $rootDA, \Innomatic\Dataaccess\DataAccess $domainDA, $itemType, $itemId, $ownerid = 0) { $this->container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $this->mItemType = $itemType; $this->mItemId = $itemId; $this->rootDA = $rootDA; $this->domainDA = $domainDA; $this->ownerid = $ownerid; $this->innoworkContainer = InnoworkCore::instance('\\Innowork\\Core\\InnoworkCore', $this->rootDA, $this->domainDA); }
/** * @param appname string - Application name. */ public function __construct($appname) { $this->rootda = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess(); if ($appname) { $this->appname = $appname; } else { $log = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLogger(); $log->logEvent('innomatic.applications.applicationsettings' . '.applicationsettings', 'Empty application name', \Innomatic\Logging\Logger::WARNING); } }
/** * Class constructor. * * @param string $tenantName Internal name of the tenant. * @access public * @return void */ public function ___construct($tenantName = '') { if (!strlen($tenantName)) { $tenantName = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentTenant()->getDomainId(); } $this->home = \Innomatic\Core\RootContainer::instance('\\Innomatic\\Core\\RootContainer')->getHome() . $tenantName . '/'; if (!$this->modulesClassPathsAdded) { $this->addModulesClassPaths(); } }
protected function generateSource() { $this->mLayout = ($this->mComments ? '<!-- begin ' . $this->mName . ' horizbar -->' . "\n" : '') . '<table border="0" cellspacing="1" cellpadding="1" bgcolor="white" width="100%"><tr><td>'; $this->mLayout .= '<table border="0" cellspacing="0" cellpadding="0" width="100%">' . "\n"; $this->mLayout .= '<tr><td bgcolor="' . $this->mThemeHandler->mColorsSet['bars']['color'] . '" width="100%" height="1"><img src="' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/clear.gif" border="0" alt=""></td></tr>' . "\n"; $this->mLayout .= '<tr><td bgcolor="' . $this->mThemeHandler->mColorsSet['bars']['shadow'] . '" width="100%" height="1"><img src="' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/clear.gif" border="0" alt=""></td></tr>' . "\n"; $this->mLayout .= "</table>\n"; $this->mLayout .= "</td></tr></table>\n" . ($this->mComments ? '<!-- end ' . $this->mName . ' horizbar -->' . "\n" : ''); return true; }
public function doGet(\Innomatic\Webapp\WebAppRequest $req, \Innomatic\Webapp\WebAppResponse $res) { // Identify the requested resource path $path = $this->getRelativePath($req); // Bootstraps Innomatic $container = \Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer'); $home = $container->getCurrentWebApp()->getHome(); $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $innomatic->bootstrap($home, $home . 'core/conf/innomatic.ini'); $innomatic->setMode(\Innomatic\Core\InnomaticContainer::MODE_ROOT); $innomatic->setInterface(\Innomatic\Core\InnomaticContainer::INTERFACE_WEBSERVICES); if ($innomatic->getState() == \Innomatic\Core\InnomaticContainer::STATE_SETUP) { $innomatic->abort('Setup phase'); } $xuser = new WebServicesUser($innomatic->getDataAccess()); if ($xuser->setByAccount($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) { $container = $innomatic; $container->setWebServicesUser($_SERVER['PHP_AUTH_USER']); $container->setWebServicesProfile($xuser->mProfileId); if ($xuser->mDomainId) { $domain_query = $innomatic->getDataAccess()->execute('SELECT domainid FROM domains WHERE id=' . $xuser->mDomainId); if ($domain_query->getNumberRows()) { $innomatic = $innomatic; $innomatic->startDomain($domain_query->getFields('domainid')); } } $xprofile = new WebServicesProfile($innomatic->getDataAccess(), $container->getWebServicesProfile()); $container->setWebServicesMethods($xprofile->AvailableMethods()); } else { if ($innomatic->getConfig()->Value('SecurityAlertOnWrongWebServicesLogin') == '1') { $innomatic_security = new \Innomatic\Security\SecurityManager(); $innomatic_security->sendAlert('Wrong web services login for user ' . $_SERVER['PHP_AUTH_USER'] . ' from remote address ' . $_SERVER['REMOTE_ADDR']); unset($innomatic_security); } } $structure = array(); $methods = $innomatic->getWebServicesMethods(); while (list(, $tmpdata) = each($methods)) { if ($tmpdata['handler'] and $tmpdata['name'] and $tmpdata['function']) { // TODO Fixare gestione handler servizi remoti if (!defined(strtoupper($tmpdata['handler']) . '_XMLRPCMETHOD')) { require_once $innomatic->getHome() . 'core/classes/shared/webservices/' . ucfirst($tmpdata['handler']) . 'WebServicesHandler.php'; } $structure[$tmpdata['name']]['function'] = $tmpdata['function']; if (isset($tmpdata['signature'])) { $structure[$tmpdata['name']]['signature'] = $tmpdata['signature']; } if (isset($tmpdata['docstring'])) { $structure[$tmpdata['name']]['docstring'] = $tmpdata['docstring']; } } } $xs = new \Innomatic\Webservices\Xmlrpc\XmlRpcServer($structure); }
public static function getRolesPermissionsXml() { $localeCatalog = new \Innomatic\Locale\LocaleCatalog('innomatic::domain_profiles', \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentUser()->getLanguage()); $rolesList = \Innomatic\Domain\User\Role::getAllRoles(); $rolesCount = count($rolesList); // Build roles/permissions matrix $rolesPermissions = array(); foreach ($rolesList as $roleId => $roleData) { $role = new \Innomatic\Domain\User\Role($roleId); $rolesPermissions[$roleId] = $role->getPermissions(); } $permissionsList = \Innomatic\Domain\User\Permission::getAllPermissions(); // Build table headers $headers = array(); $headerCounter = 1; foreach ($rolesList as $roleId => $roleData) { $headers[$headerCounter++]['label'] = $roleData['title']; } $xml = '<vertgroup><children> <table> <args> <headers type="array">' . WuiXml::encode($headers) . '</headers> </args> <children>'; $row = 0; $prevApplication = ''; foreach ($permissionsList as $permId => $permData) { if ($permData['application'] != $prevApplication) { $xml .= '<label row="' . $row++ . '" col="0" halign="left" valign="middle" nowrap="false" width="" colspan="' . ($rolesCount + 1) . '"><args><label>' . WuiXml::cdata($permData['application']) . '</label><bold>true</bold></args></label>'; } $xml .= '<label row="' . $row . '" col="0" halign="left" valign="middle"><args><label>' . WuiXml::cdata($permData['title']) . '</label><nowrap>false</nowrap></args></label>'; $col = 1; foreach ($rolesList as $roleId => $roleData) { if (isset($rolesPermissions[$roleId][$permId])) { $checked = 'true'; } else { $checked = 'false'; } $xml .= '<checkbox row="' . $row . '" col="' . $col++ . '" halign="center" valign="middle"><name>rolepermissioncb</name><args><id>cbrole_' . $roleId . '-' . $permId . '</id><checked>' . $checked . '</checked></args></checkbox>'; } $prevApplication = $permData['application']; $row++; } $xml .= '</children> </table> <horizbar/> <button><name>save</name> <args><themeimage>buttonok</themeimage><label>' . WuiXml::cdata($localeCatalog->getStr('save_roles_permissions_button')) . '</label><action>javascript:void(0)</action><horiz>true</horiz><frame>false</frame></args> <events> <click>' . WuiXml::cdata("\nvar checkboxes = document.getElementsByName('wui[][evd][rolepermissioncb]');\nvar vals = '';\nfor (var i=0, n=checkboxes.length;i<n;i++) {\n if (checkboxes[i].checked) vals += ','+checkboxes[i].id;\n}\nif (vals) vals = vals.substring(1);\n \t\t\t\nxajax_SaveRolesPermissions(vals);") . '</click> </events></button> </children></vertgroup>'; return $xml; }
public function beginHelper() { $this->container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $this->localeCatalog = new LocaleCatalog('innomatic::domain_dashboard', $this->container->getCurrentUser()->getLanguage()); $this->wuiContainer->loadAllWidgets(); $this->wuiPage = new WuiPage('page', array('title' => $this->localeCatalog->getStr('dashboard_pagetitle'))); $this->wuiMainvertgroup = new WuiVertgroup('mainvertgroup'); $this->wuiTitlebar = new WuiTitleBar('titlebar', array('title' => $this->localeCatalog->getStr('dashboard_title'), 'icon' => 'elements')); $this->wuiMainvertgroup->addChild($this->wuiTitlebar); $this->wuiMainframe = new WuiVertgroup('mainframe'); }
/** * Get list of local languages from db Root * @return array list languages */ protected static function getRootLocaleLanguages() { $language_locale = new \Innomatic\Locale\LocaleCatalog('innomatic::localization', \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLanguage()); $languageQuery = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getDataAccess()->execute('SELECT * FROM locale_languages'); while (!$languageQuery->eof) { $langshort = $languageQuery->getFields('langshort'); $langname = $languageQuery->getFields('langname'); $languages[$langshort] = $language_locale->getStr($langname); $languageQuery->moveNext(); } return $languages; }
/** * Costruisce la classe della clipboard. * @param string $type tipo di dato da trattare. * @param string $customType tipo utente di dato da trattare se $type � impostato a Clipboard::TYPE_CUSTOM * @param integer $unit unit� identificativa della clipboard da utilizzare a partire da 0 * @param string $application nome del modulo. * @param string $domain nome del sito. * @param string $user nome dell'utente. */ public function __construct($type, $customType = '', $unit = 0, $application = '', $domain = '', $user = '') { $this->type = $type; if ($this->type == Clipboard::TYPE_CUSTOM) { $this->customType = $customType; } $this->unit = $unit; $this->application = $application; $this->domain = $domain; $this->user = $user; $this->fileName = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/temp/clipboard/' . $this->type . '_' . $this->customType . '_' . $this->unit . '_' . $this->application . '_' . $this->domain . '_' . $this->user . '.clipboard'; }
public function __construct(\Innomatic\Dataaccess\DataAccess $rootDA, \Innomatic\Dataaccess\DataAccess $domainDA, $summaries = '') { $this->container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $this->log = $this->container->getLogger(); $this->rootDA = $rootDA; $this->domainDA = $domainDA; if (is_array($summaries)) { $this->summary = $summaries; } else { $tmpInnoworkcore = InnoworkCore::instance('\\Innowork\\Core\\InnoworkCore', $this->rootDA, $this->domainDA); $this->summary = $tmpInnoworkcore->GetSummaries(); } }
public function getWidgetXml() { $container = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); // Get the message of the day $message = $container->getCurrentDomain()->getMotd(); // Check if the motd is empty. If it is empty, get the generic welcome message if (!strlen($message)) { $catalog = new \Innomatic\Locale\LocaleCatalog('innomatic::dashboard_welcome', $container->getCurrentUser()->getLanguage()); $message = $catalog->getStr('welcome_message'); } $xml = '<label><args><label>' . \Shared\Wui\WuiXml::cdata(nl2br($message)) . '</label></args></label>'; return $xml; }
public function executesetcountry($eventData) { $userCfg = new UserSettings(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain()->getDataAccess(), \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentUser()->getUserId()); $userCfg->setKey('desktop-country', $eventData['country']); $domainSettings = new DomainSettings(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain()->getDataAccess()); if (User::isAdminUser(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentUser()->getUserName(), \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain()->getDomainId())) { $domainSettings->EditKey('desktop-country', $eventData['country']); } $this->status = $this->localeCatalog->getStr('countryset_status'); $this->setChanged(); $this->notifyObservers('status'); $this->notifyObservers('javascript'); }
protected function generateSource() { $progress = $this->mArgs['progress'] == 0 ? '0' : round(100 * $this->mArgs['progress'] / $this->mArgs['totalsteps']); $left = 100 - $progress; $this->mLayout = $this->mComments ? '<!-- begin ' . $this->mName . ' progress -->' : ''; $this->mLayout .= "<table border=\"0\" width=\"100%\" cellspacing=\"2\" cellpadding=\"1\"><tr><td bgcolor=\"" . $this->mThemeHandler->mColorsSet['frames']['border'] . "\">\n"; $this->mLayout .= "<table border=\"0\" width=\"100%\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"white\">\n"; $this->mLayout .= "<tr>\n"; $this->mLayout .= '<td width="' . $progress . '%" height="7" class="status" nowrap style="white-space: nowrap" align="center" bgcolor="' . $this->mThemeHandler->mColorsSet['buttons']['selected'] . '"><img src="' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getBaseUrl(false) . '/shared/clear.gif" alt="" height="7"></td>' . "\n"; $this->mLayout .= '<td width="' . $left . '%" bgcolor="white"></td></tr>' . "\n</table>\n"; $this->mLayout .= "</td></tr>\n</table>\n"; $this->mLayout .= $this->mComments ? '<!-- end ' . $this->mName . " progressbar -->\n" : ''; return true; }
public function doGet(\Innomatic\Webapp\WebAppRequest $req, \Innomatic\Webapp\WebAppResponse $res) { // identify the requested resource path $resource = substr(\Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getHome(), 0, -1) . '/root' . $req->getPathInfo(); $ignore_lock = false; // make sure that this path exists on disk switch (substr($resource, strrpos($resource, '/') + 1)) { /* case 'main': case 'menu': case 'logo': break; */ case 'unlock': $ignore_lock = true; break; default: if (substr($resource, -1, 1) != '/' and !file_exists($resource . '.php') and !is_dir($resource . '-panel')) { $res->sendError(\Innomatic\Webapp\WebAppResponse::SC_NOT_FOUND, $req->getRequestURI()); return; } } // Bootstraps Innomatic $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); if ($ignore_lock) { $innomatic->setLockOverride(true); } // Sets Innomatic base URL $baseUrl = ''; $webAppPath = $req->getUrlPath(); if (!is_null($webAppPath) && $webAppPath != '/') { $baseUrl = $req->generateControllerPath($webAppPath, true); } $innomatic->setBaseUrl($baseUrl); $innomatic->setInterface(\Innomatic\Core\InnomaticContainer::INTERFACE_WEB); $home = \Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getHome(); $innomatic->bootstrap($home, $home . 'core/conf/innomatic.ini'); if ($innomatic->getState() == \Innomatic\Core\InnomaticContainer::STATE_SETUP) { $innomatic->abort('Setup phase'); } if (!headers_sent()) { // Starts output compression. if ($innomatic->getConfig()->value('CompressedOutputBuffering') == '1') { ini_set('zlib.output_compression', 'on'); ini_set('zlib.output_compression_level', 6); } } \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->execute(\Innomatic\Core\InnomaticContainer::MODE_ROOT, $resource); }