Example #1
0
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 '&nbsp;<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;
}
Example #4
0
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"];
Example #6
0
 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++;
     }
 }
Example #7
0
function is_admin($user, $prjid)
{
    // per maggior leggibilita' del codice
    return (bool) (get_level($user, $prjid) == 1);
}
Example #8
0
/**
 * 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);
}
Example #9
0
 function get_user_level()
 {
     $user_level = $this->ci->session->userdata('user_level');
     return get_level($user_level);
 }
Example #10
0
 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";
 }
Example #11
-20
 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') . "&nbsp;|&nbsp;" . 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);
 }