function get_level($id) { global $arr_products_id, $Q, $DB, $module_name; $SQL = "SELECT * FROM " . $module_name . " WHERE rid = '" . $id . "'"; //echo "1"; $result = $Q->query($DB, $SQL); for ($levels = array(); $row = mysql_fetch_assoc($result); $levels[] = $row) { } for ($i = 0; $i < count($levels); $i++) { if ($levels[$i][f1] != "") { array_push($arr_products_id, $levels[$i][id]); } if ($levels[$i][aname] != 'e4') { get_level($levels[$i][id]); } } }
function draw_page($userinfo) { $progress = get_progress($userinfo['user_id']); $total = get_qual_point_total(); ?> <div class="container"> <?php echo '<h3>'; echo $userinfo['fname'] . ' ' . $userinfo['lname']; echo ' <small>' . user_level_to_levelname(get_level($userinfo['user_id'])) . '</small>'; echo '</h3>'; draw_qual_progress_bar($progress, $total); draw_progress_table($userinfo); draw_qual_progress_form($userinfo); ?> </div> <?php }
/** * This function will check if database requirements are satisfied * * @global object * @uses NO_VERSION_DATA_FOUND * @uses NO_DATABASE_SECTION_FOUND * @uses NO_DATABASE_VENDORS_FOUND * @uses NO_DATABASE_VENDOR_MYSQL_FOUND * @uses NO_DATABASE_VENDOR_POSTGRES_FOUND * @uses NO_DATABASE_VENDOR_VERSION_FOUND * @param string $version xml version we are going to use to test this server * @param int $env_select one of ENV_SELECT_NEWER | ENV_SELECT_DATAROOT | ENV_SELECT_RELEASE decide xml to use. * @return object results encapsulated in one environment_result object */ function environment_check_database($version, $env_select) { global $DB; $result = new environment_results('database'); $vendors = array(); //Array of vendors in version /// Get the enviroment version we need if (!($data = get_environment_for_version($version, $env_select))) { /// Error. No version data found $result->setStatus(false); $result->setErrorCode(NO_VERSION_DATA_FOUND); return $result; } /// Extract the database part if (!isset($data['#']['DATABASE'])) { /// Error. No DATABASE section found $result->setStatus(false); $result->setErrorCode(NO_DATABASE_SECTION_FOUND); return $result; } else { /// Extract level $level = get_level($data['#']['DATABASE']['0']); } /// Extract DB vendors. At least 2 are mandatory (mysql & postgres) if (!isset($data['#']['DATABASE']['0']['#']['VENDOR'])) { /// Error. No VENDORS found $result->setStatus(false); $result->setErrorCode(NO_DATABASE_VENDORS_FOUND); return $result; } else { /// Extract vendors foreach ($data['#']['DATABASE']['0']['#']['VENDOR'] as $vendor) { if (isset($vendor['@']['name']) && isset($vendor['@']['version'])) { $vendors[$vendor['@']['name']] = $vendor['@']['version']; $vendorsxml[$vendor['@']['name']] = $vendor; } } } /// Check we have the mysql vendor version if (empty($vendors['mysql'])) { $result->setStatus(false); $result->setErrorCode(NO_DATABASE_VENDOR_MYSQL_FOUND); return $result; } /// Check we have the postgres vendor version if (empty($vendors['postgres'])) { $result->setStatus(false); $result->setErrorCode(NO_DATABASE_VENDOR_POSTGRES_FOUND); return $result; } /// Now search the version we are using (depending of vendor) $current_vendor = $DB->get_dbfamily(); $dbinfo = $DB->get_server_info(); $current_version = normalize_version($dbinfo['version']); $needed_version = $vendors[$current_vendor]; /// Check we have a needed version if (!$needed_version) { $result->setStatus(false); $result->setErrorCode(NO_DATABASE_VENDOR_VERSION_FOUND); return $result; } /// And finally compare them, saving results if (version_compare($current_version, $needed_version, '>=')) { $result->setStatus(true); } else { $result->setStatus(false); } $result->setLevel($level); $result->setCurrentVersion($current_version); $result->setNeededVersion($needed_version); $result->setInfo($current_vendor); /// Do any actions defined in the XML file. process_environment_result($vendorsxml[$current_vendor], $result); return $result; }
function size_readable($size, $retstring = '%01.2f %s') { $prefix = array('B', 'K', 'MB', 'GB', 'TB', 'PB'); $i = 0; while ($size >= 1024 && $i < count($prefix) - 1) { $size /= 1024; $i++; } return sprintf($retstring, $size, $prefix[$i]); } function get_level($progress) { return $progress > 90 ? 'danger' : ($progress > 70 ? 'warning' : 'success'); } include __DIR__ . '/config.php'; foreach ($servers as $name => $info) { $status = json_decode(file_get_contents($info->url)); if (empty($status->uptime)) { $status->uptime = '<span class="label label-important">DOWN</span>'; } $status->load[0] = sprintf('%.2f', $status->load[0]); $status->load[1] = sprintf('%.2f', $status->load[1]); $status->load[2] = sprintf('%.2f', $status->load[2]); $status->memory->used = $status->memory->used * 1024; $status->memory->total = $status->memory->total * 1024; $status->memory->progress = $status->memory->used / $status->memory->total * 100; $status->memory->level = get_level($status->memory->progress); $status->disk->progress = $status->disk->used / $status->disk->total * 100; $status->disk->level = get_level($status->disk->progress); $servers->{$name}->status = $status; }
echo $deal["id"]; ?> "></td><td><?php echo $deal["id"]; ?> </td><td><?php echo edit_new($deal["name"], $deal['id']); ?> </td><td><?php echo get_type_name($deal["type"]); ?> </td><td><?php echo is_ips_bill_no_admin($deal["ips_bill_no"]); ?> </td><td><?php echo get_level($deal["user_level"], $deal['user_level']); ?> </td><td><?php echo get_deal_user($deal["user_id"]); ?> </td><td><?php echo format_price($deal["support_amount"]); ?> </td><td><?php echo get_status($deal["is_success"]); ?> </td><td><?php echo $deal["focus_count"]; ?> </td><td><?php echo $deal["support_count"];
public function action_load_price() { // Получение значения ячейки function get_cell_value($worksheet, $cell) { return $worksheet->getCell($cell)->getValue(); } // Преобразование числового значения столбца в символьное function col_n2str($col_n) { return PHPExcel_Cell::stringFromColumnIndex($col_n - 1); } // Преобразование символьного значения столбца в числовое function col_str2n($col) { return PHPExcel_Cell::columnIndexFromString($col); } // Узнать уровень вложенности строки function get_level($worksheet, $row) { return $worksheet->getRowDimension($row)->getOutlineLevel(); } $objPHPExcel = PHPExcel_IOFactory::load(DOCROOT . "/price.xls"); $structure = array("name" => array("index" => "A", "type" => "chars", "title" => "Наименование", "ordering" => 1), "ed_izm" => array("index" => "N", "type" => "select", "title" => "Единица измерения", "ordering" => 2), "price" => array("index" => "O", "type" => "price", "title" => "Цена", "ordering" => 3)); $num_structure = array_values($structure); $categories = array(array("id" => 0, "level" => -1, "name" => "root")); $materials = array(); $category_id_counter = 1; // Счётчик для id категории $parent_category_id = 0; // id родительской категории //echo '<table border>'; //echo "<tr><td>Id категории<td>Уровень<td>id родительской категории<td>Название категории</tr>"; // Проход по листам foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $worksheet_title = $worksheet->getTitle(); $max_row = $worksheet->getHighestRow(); // максимальная строка $max_col = $worksheet->getHighestColumn(); // максимальный столбец (буква) $max_col = col_str2n($max_col); // максимальный столбец (цифра) //echo "<p>Максимальная строка: " . $max_row . "</p>"; //echo "<p>Максимальный столбец: " . $max_col . " (" . col_n2str($max_col) . ")</p>"; $start_row = 12; // С какой строки начинаем? // Перебор строк for ($row = $start_row; $row <= $max_row; $row++) { $level = get_level($worksheet, $row); // Уровень вложенности // Строка является заголовком? if (!get_cell_value($worksheet, $num_structure[1]["index"] . $row)) { $current_cell = "A" . $row; // Адрес ячейки $value = get_cell_value($worksheet, $current_cell); // Название категории $categories[$category_id_counter] = array("id" => $category_id_counter, "level" => $level, "name" => $value); // Поиск родителя for ($i = $category_id_counter; $i >= 0; $i--) { if ($categories[$i]["level"] == $level - 1) { $parent_category_id = $categories[$i]["id"]; break; } } //echo "<tr><td>" . $category_id_counter . "<td>" . $level . "<td>" . $parent_category_id . "<td>" . $value; $categories[$category_id_counter]["parent"] = $parent_category_id; $category_id_counter++; } else { //echo '<tr><td colspan="4"><table style="width:100%;" border><tr>'; foreach ($structure as $name => $el) { $current_cell = $el["index"] . $row; // Адрес ячейки $value = get_cell_value($worksheet, $current_cell); $material_data[$name] = $value; //echo '<td>' . $value; } //echo "</table>"; $category_id = $category_id_counter - 1; $material_data["category_id"] = $category_id; if (!isset($categories[$category_id]["materials"])) { $categories[$category_id]["materials"] = array(); } $categories[$category_id]["materials"][] = $material_data; $materials[] = $material_data; } } //echo "</table>"; //var_dump($categories); //var_dump($materials); //echo "<hr>"; } $gid = 1218; // id группы $model_material = new Model_Material('groups'); $model_base = new Model_Base(); $group = $model_material->getGroup($gid); $categories[0]["db_id"] = $gid; $categories[0]["name"] = $group["name"]; $parent_id = 0; $insertdata = array(); $fieldset = $model_material->getFieldsSet($gid); //$insert_categories = array(); $current_level = 0; while (true) { $search_level_status = false; foreach ($categories as $category_id => $category_data) { if ($category_data["level"] == $current_level) { $search_level_status = true; // Поиск родителя for ($i = $category_id; $i >= 0; $i--) { if ($categories[$i]["level"] == $current_level - 1) { $parent_id = $categories[$i]["db_id"]; break; } } $insert_group_id = $model_material->groupInsert($parent_id, $parent_id, array('name' => $category_data["name"])); $group_params = array(); foreach ($structure as $name => $param) { $param_data = array_merge($param, array("name" => $name, "gid" => $insert_group_id)); $model_material->addParam($param_data); } $category_data["db_id"] = $insert_group_id; if (isset($category_data["materials"])) { $fieldset = $model_material->getFieldsSet($insert_group_id); //var_dump($fieldset); // Проход по материалам foreach ($category_data["materials"] as $material) { //var_dump($material); $insertdata = array(); $insertdata['title'] = Request::clearText($material["name"]); $insertdata['url'] = Request::str2url($material["name"]); $insertdata['description'] = Request::clearText($material["name"]); // Проход по параметрам foreach ($fieldset as $field) { if (isset($structure[$field["name"]])) { $insertdata[$field["type"] . '_' . $field["id"]] = $material[$field["name"]]; switch ($field["type"]) { case "files": $insertdata[$field["type"] . '_' . $field["id"]] = array($material[$field["name"]]); break; case "photoalbum": $insertdata[$field["type"] . '_' . $field["id"]] = array($material[$field["name"]]); break; case "select": $insertdata[$field["type"] . '_' . $field["id"]] = array($material[$field["name"]]); break; } // Наценка 30% /*if ($field["type"] == "price") { $insertdata[$field["type"].'_'.$field["id"]] = $material[$field["name"]] * 1.3; }*/ } } echo "<pre>"; var_dump($insertdata); echo "</pre>"; $result = $model_material->newMaterial($insertdata, $insert_group_id, TRUE); } } //var_dump($category_data); echo "<hr>"; $categories[$category_id] = $category_data; } } if (!$search_level_status) { break; } $current_level++; } }
function is_admin($user, $prjid) { // per maggior leggibilita' del codice return (bool) (get_level($user, $prjid) == 1); }
/** * Returns an array of categories to choose for homepage for Institut Français. */ function iftheme_home_categories($pays = NULL) { global $current_user; get_currentuserinfo(); global $sitepress; $default_lg = isset($sitepress) ? $sitepress->get_default_language() : get_site_lang(); $antenna_id = get_cat_if_user($current_user->ID); $antenna_id = function_exists('icl_object_id') ? icl_object_id($antenna_id, 'category', TRUE) : $antenna_id; //icl_object_id(ID, type, return_original_if_missing,language_code) $args = $pays ? array('hide_empty' => 0) : array('child_of' => $antenna_id, 'hide_empty' => 0); //$home_categ_options = new array; $categories = get_categories($args); foreach ($categories as $category) { $level = get_level($category->cat_ID); //get only second level categories //if($level == 1){ //get all except the level 0 ones if ($category->parent) { $home_categ_options[$category->term_id] = array('value' => function_exists('icl_object_id') ? icl_object_id($category->term_id, 'category', TRUE, $default_lg) : $category->term_id, 'label' => $category->name, 'antenne' => $pays ? get_cat_name(get_root_category($category->term_id)) : NULL, 'level' => $level); if ($pays) { $root_categ[get_root_category($category->term_id)] = get_root_category($category->term_id); } } } if ($pays) { foreach ($root_categ as $k => $id) { unset($home_categ_options[$k]); } } return apply_filters('iftheme_home_categories', $home_categ_options); }
function get_user_level() { $user_level = $this->ci->session->userdata('user_level'); return get_level($user_level); }
function embed_html_blocks($states_directory, $blocks_directory, $compiled_directory, $verbose = false, $wrap = true, $strip_comments = false) { if ($wrap) { // get wrap.html for wrapping all blocks with body/head html $wrap_html = file_get_contents($blocks_directory . "wrap.html"); } $statenames = get_filenames($states_directory); // regex pattern for block stub $block_stub_regex = '/ *<!--[ ]*\\[BLOCK\\][ ]*-->\\n/'; foreach ($statenames as $statename) { // check for .state extension if (preg_match('/\\.state$/', $statename)) { // returns file lines in an array // files contain blocknames $blocknames = file($states_directory . $statename); $html = array(''); // html stack $namespace = array(''); // namespace stack for filenames // action of current block depends on indention of next block for ($i = 0; $i < count($blocknames); $i++) { $blockname = trim($blocknames[$i]); $level = get_level($blocknames[$i], $statename); if ($i < count($blocknames) - 1) { $next_blockname = $blocknames[$i + 1]; $next_level = get_level($next_blockname, $statename); } else { $next_blockname = 'EOF'; $next_level = 0; } // grab the html $block = file_get_contents($blocks_directory . implode($namespace) . $blockname . ".html"); if (!$block) { die(shell_color('Error:', 'red') . " No block named {$blockname} in {$states_directory}{$statename}\n"); } // concat block to top of html stack $html[count($html) - 1] .= $block; // block is higher level than next - embed block(s) if (($level_diff = $level - $next_level) > 0) { // embed for each level for ($j = 0; $j < $level_diff; $j++) { $block = array_pop($html); preg_match_all($block_stub_regex, end($html), $block_stub); if (!count($block_stub[0])) { die(shell_color('Error:', 'red') . " No block comment stub to embed into state {$states_directory}{$statename}\n" . end($html)); } elseif (count($block_stub[0]) > 1) { die(shell_color('Error:', 'red') . " Too many block comment stubs to embed into state {$states_directory}{$statename}\n" . end($html)); } // get block indention preg_match('/^\\s*/', $block_stub[0][0], $indent); // get rid of any unused [BLOCK] statements $block = preg_replace($block_stub_regex, '', $block); // add indents to html blocks so alignment is correct when embedded $block = preg_replace('/(.+)\\n/', $indent[0] . '\\1' . "\n", $block); array_pop($namespace); $html[count($html) - 1] = preg_replace($block_stub_regex, $block, end($html)); } // block is lower level than next - concat block to current level then push a new level } elseif (($level_diff = $next_level - $level) > 0) { // make sure contained blocks are indicated by one level of indention in if ($level_diff != 1) { die(shell_color('Error:', 'red') . " Contained block " . trim($next_blockname) . " indicated by more than one level of indention in state file {$statename}\n"); } else { array_push($html, ''); // trim anything after + for overloaded blocks if (strpos($blockname, '+')) { $blockname = substr($blockname, 0, strpos($blockname, '+')); } array_push($namespace, $blockname . '.'); } // get rid of unused embed comments } else { $html[count($html) - 1] = preg_replace($block_stub_regex, '', $html[count($html) - 1]); } } // convert array to string $html = $html[0]; if ($wrap) { // indent one level then wrap in main body/head html $html = preg_replace('/(.+)\\n/', str_repeat(' ', 4) . '\\1' . "\n", $html); $html = preg_replace($block_stub_regex, $html, $wrap_html); } if ($strip_comments) { $html = preg_replace('/ *\\<![ \\r\\n\\t]*(--.*--[ \\r\\n\\t]*)\\>\\n?/', '', $html); // strip any leftover block comments } else { $html = preg_replace($block_stub_regex, '', $html); } // save to statename.html file $filename = preg_replace('/\\.state/', '.html', $statename); file_put_contents($compiled_directory . $filename, $html); if ($verbose) { echo shell_color('Added:', 'cyan') . " {$compiled_directory}{$filename}\n"; } // filename doesn't have .state extension } else { echo shell_color('Warning:', 'red') . " ignoring {$states_directory}{$statename} since it does not have state extension\n"; } } echo shell_color('Success:', 'green') . " html saved to {$compiled_directory}\n"; }
function index() { $offset = $this->lib_general->value_get('offset', 0); $limit = $this->lib_general->value_get('limit', 10); $data['title'] = 'ACS - Security'; $data['action'] = site_url('user/search' . $this->_filter()); $data['add_btn'] = anchor('user/add' . $this->_filter(), '<span class="glyphicon glyphicon-plus"></span> New', array('class' => 'btn btn-primary btn-sm')); $this->table->set_template(tbl_tmp()); $head_data = array('fullname' => 'Fullname', 'username' => 'Username', 'level' => 'Level', 'ip_login' => 'Last IP Login', 'user_agent' => 'Last User Agent', 'date_login' => 'Last Login', 'status' => 'Status'); $heading[] = 'No'; foreach ($head_data as $r => $value) { $heading[] = anchor('user' . $this->_filter(array('order_column' => $r, 'order_type' => $this->lib_general->order_type($r))), $value . " " . $this->lib_general->order_icon($r)); } $heading[] = 'Action'; $this->table->set_heading($heading); $result = $this->mdl_user->get()->result(); $i = 1 + $offset; foreach ($result as $r) { $this->table->add_row($i++, anchor('user/edit/' . $r->id . $this->_filter(), $this->template->get_user_image($r->photo, 'user-image-table img-circle') . ' ' . $r->fullname), $r->username, get_level($r->level), $r->ip_login, $r->user_agent, $r->date_login, get_status($r->status), anchor('user/edit/' . $r->id . $this->_filter(), '<span class="glyphicon glyphicon-edit"></span> Edit') . " | " . anchor('user/delete/' . $r->id . $this->_filter(), '<span class="glyphicon glyphicon-trash"></span> Delete', array('onclick' => "return confirm('Are you sure')"))); } $data['table'] = $this->table->generate(); $total = $this->mdl_user->count_all(); $config = pag_tmp(); $config['base_url'] = site_url("user" . $this->_filter()); $config['total_rows'] = $total; $config['per_page'] = $limit; $this->pagination->initialize($config); $data['pagination'] = $this->pagination->create_links(); $data['total'] = page_total($offset, $limit, $total); $this->template->display('user', $data); }