public static function validateVisibility(&$data) { SPLoader::loadClass('env.browser'); $humanity = SPBrowser::getInstance()->get('humanity'); $display = Sobi::Cfg('mail_protection.show'); if (!($humanity >= $display)) { $data['_data'] = array(); } }
/** * Creates ajax file field * * @param string $name - name of the html field * @param string $accept - accepted file types * @param string $value - possible value for the inbox * @param string $class - class name * @param string $task - task override * @param array $scripts - custom JavaScript files * @param array $request - custom request * @return string */ public static function fileUpload($name, $accept = '*', $value = null, $class = 'spFileUpload', $task = 'file.upload', $scripts = array('jquery', 'jquery-form', 'fileupload'), $request = null) { if (is_string($scripts)) { $scripts = SPFactory::config()->structuralData($scripts); } SPFactory::header()->addJsFile($scripts); if (!$request) { $request = array('option' => 'com_sobipro', 'task' => $task, 'sid' => Sobi::Section(), 'ident' => $name . '-file', SPFactory::mainframe()->token() => 1, 'format' => 'raw'); } $classes = array('class' => 'hide spFileUploadHidden'); SPLoader::loadClass('env.browser'); $browser = SPBrowser::getInstance()->get('browser'); $stupidInternetExplorer = false; if (strstr(strtolower($browser), 'internet explorer')) { $classes = array('class' => ''); $stupidInternetExplorer = true; } $f = null; $f .= "<div class=\"{$class}\" data-section=" . Sobi::Section() . ">"; $f .= '<div class="file">'; $f .= self::file($name . '-file', 0, $classes, $accept); $f .= '</div>'; if (!$stupidInternetExplorer) { $f .= "<input type=\"text\" readonly=\"readonly\" class=\"input-large selected pull-left\" value=\"{$value}\"/>"; } $f .= '<div class="btn-group">'; if (!$stupidInternetExplorer) { $f .= '<button class="btn select" type="button"><i class="icon-eye-open"></i> ' . Sobi::Txt('UPLOAD_SELECT') . '</button>'; } $f .= '<button class="btn upload hide" disabled="disabled" type="button" rel=\'' . json_encode($request) . '\'>' . Sobi::Txt('START_UPLOAD') . ' <i class="icon-upload-alt"></i></button>'; $f .= '<button class="btn remove" disabled="disabled" type="button">' . ' <i class="icon-remove"></i></button>'; $f .= '</div>'; $f .= '<div class="hide progress-container row">'; $f .= '<div class="span1">'; $f .= '<span class="progress-message badge badge-success">0%</span>'; $f .= '</div>'; $f .= '<div class="progress progress-success span6"><div class="bar"></div></div>'; $f .= '</div>'; $f .= '<div class="alert hide"><button type="button" class="close" data-dismiss="alert">×</button><div> </div></div>'; $f .= "<input type=\"hidden\" name=\"{$name}\" value=\"\" class='idStore'/>"; $f .= '</div>'; return $f; }
protected function session(&$ssid) { /* if it wasn't new search */ $ssid = SPRequest::cmd('ssid', SPRequest::cmd('ssid', null, 'cookie')); $new = false; /* otherwise create new ssid */ if (!$ssid) { $ssid = microtime(true) * 100 . '.' . rand(0, 99); $new = true; } $attr = array('ssid' => $ssid, 'uid' => Sobi::My('id'), 'browserData' => SPConfig::serialize(SPBrowser::getInstance())); /* get search request */ if (!count($this->_request)) { $r = SPRequest::search('field_'); if (is_array($r) && count($r)) { $attr['requestData'] = SPConfig::serialize($r); } } /* determine the search parameters */ if ($new) { $attr['searchCreated'] = 'FUNCTION:NOW()'; } /* finally save */ try { $this->_db->insertUpdate('spdb_search', $attr); } catch (SPException $x) { Sobi::Error($this->name(), SPLang::e('CANNOT_CREATE_SESSION_DB_ERR', $x->getMessage()), SPC::ERROR, 500, __LINE__, __FILE__); } return SPCookie::set('ssid', $ssid, SPCookie::days(7)); }
public function ProxyCount() { SPLoader::loadClass('env.browser'); SPLoader::loadClass('env.cookie'); $browser = SPBrowser::getInstance(); $this->nid = str_replace(array('.count', '.'), array(null, '_'), SPRequest::task()); $ident = $this->nid . '_' . SPRequest::int('eid'); $check = SPRequest::cmd('count_' . $ident, null, 'cookie'); if (!$check) { $data = array('date' => 'FUNCTION:NOW()', 'uid' => Sobi::My('id'), 'sid' => SPRequest::int('eid'), 'fid' => $this->nid, 'ip' => SPRequest::ip('REMOTE_ADDR', 0, 'SERVER'), 'section' => Sobi::Section(), 'browserData' => $browser->get('browser'), 'osData' => $browser->get('system'), 'humanity' => $browser->get('humanity')); SPCookie::set('count_' . $ident, 1, SPCookie::hours(2)); SPFactory::db()->insert('spdb_field_url_clicks', $data); } }
/** * Creates ajax file field * * @param string $name - name of the html field * @param string $accept - accepted file types * @param string $value - possible value for the inbox * @param string $class - class name * @param string $task - task override * @param array $scripts - custom JavaScript files * @param array $request - custom request * @return string */ public static function _fileUpload($name, $accept = '*', $value = null, $class = 'spFileUpload', $task = 'file.upload', $scripts = array('jquery', 'jquery-form', 'fileupload'), $request = null) { if (is_string($scripts)) { $scripts = SPFactory::config()->structuralData($scripts); } SPFactory::header()->addJsFile($scripts); if (!$request) { $request = array('option' => 'com_sobipro', 'task' => $task, 'sid' => Sobi::Section(), 'ident' => $name . '-file', SPFactory::mainframe()->token() => 1, 'format' => 'raw'); } $classes = array('class' => 'hide spFileUploadHidden'); SPLoader::loadClass('env.browser'); $browser = SPBrowser::getInstance()->get('browser'); $stupidInternetExplorer = false; if (strstr(strtolower($browser), 'internet explorer')) { $classes = array('class' => ''); $stupidInternetExplorer = true; } $f = null; $f .= "<div class=\"{$class} spUpload\" data-section=" . Sobi::Section() . ">"; $f .= '<div class="file">'; $f .= self::file($name . '-file', 0, $classes, $accept); $f .= '</div>'; $b3class = ''; if (Sobi::Cfg('template.bootstrap3-styles') && !defined('SOBIPRO_ADM')) { $b3class = ' form-control'; } if (!$stupidInternetExplorer) { $f .= "<input type=\"text\" readonly=\"readonly\" class=\"input-large selected pull-left{$b3class}\" value=\"{$value}\"/>"; } $f .= '<div class="btn-group">'; if (!$stupidInternetExplorer) { $f .= '<button class="btn btn-default select" type="button"><i class="' . Sobi::Ico('upload-field.search-button') . '"></i> ' . Sobi::Txt('UPLOAD_SELECT') . '</button>'; } $f .= '<button class="btn btn-default upload hide" disabled="disabled" type="button" rel=\'' . json_encode($request) . '\'>' . Sobi::Txt('START_UPLOAD') . ' <i class="icon-upload-alt"></i></button>'; $f .= '<button class="btn btn-default remove" disabled="disabled" type="button">' . ' <i class="' . Sobi::Ico('upload-field.remove-button') . '"></i></button>'; $f .= '</div>'; $f .= '<div class="hide progress-container">'; $f .= '<div class="progress progress-success">'; $f .= '<div class="bar progress-bar progress-bar-success"><span class="progress-message">0%</span></div>'; $f .= '</div>'; $f .= '</div>'; //no close button as it won't open again without reload -> no further messages // $f .= '<div class="alert hide"><button type="button" class="close" data-dismiss="alert">×</button><div> </div></div>'; $f .= '<div class="alert hide"><div> </div></div>'; $f .= "<input type=\"hidden\" name=\"{$name}\" value=\"\" class='idStore'/>"; $f .= '</div>'; return $f; }