1001 Freelance Projects
Свежие проекты с фриланс-бирж
Сегодня: 25-Apr-2024 23:43 GMT
Просмотр проекта
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Название проекта: Сделать капчу
Кто разместил: Внешний проект с weblancer.net
Открыт: 08-Nov-2021 10:23 GMT
Описание: Сделать капчу 20ч 200$
<?php
/**
* Rendering HTML code (UI)
*
*
*/
function psp_show_page_header( $remain = false ) {
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Проверка Страховой Принадлежности</title>
<?php
psp_get_styles();
?>
<script type="text/javascript" src="assets/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="assets/daterangepicker/moment.min.js"></script>
<script type="text/javascript" src="assets/daterangepicker/daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="assets/daterangepicker/daterangepicker.css"/>
<?php
psp_show_ajax_code( $remain );
?>
</head>
<!-- <body>
<div id="wrap-<?php echo psp_get_page(); ?>">
-->
<?php
//echo '<div><h2>' . psp_get_pages( psp_get_page() ) . '</h2></div>';
}
function psp_get_styles() {
?>
<link rel='stylesheet' href='styles.css' type='text/css' media='all'/>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
text-align: center;
padding-left: 1em;
padding-right: 1em;
}
h2 {
/*margin: 0 1em 1em 1em;*/
margin: 0;
color: #444;
}
#wrap-home #psp-content,
#wrap-single_form #psp-content,
#wrap-group_form #psp-content,
#wrap-view_single #psp-content {
margin: 0 auto;
width: 40%;
min-width: 400px;
/*padding: 0.5em 3em 3em 3em;*/
}
@media screen and (max-width: 900px) {
#wrap-home #psp-content,
#wrap-single_form #psp-content,
#wrap-group_form #psp-content,
#wrap-view_single #psp-content {
width: 80%;
}
}
/* Tables */
.psp-table {
width: 100%;
text-align: left;
font-size: 0.8em;
border-collapse: collapse;
/*border: solid 3px #fff;
border-top: #eee solid 2px;*/
border: #bbb solid 1px;
margin-top: 1em;
margin-bottom: 1em;
padding-top: 1em;
}
.psp-table th,
.psp-table td {
padding: 0.6em;
border: #bbb solid 1px;
}
.psp-table th {
background-color: #eee;
}
/* Log */
#psp-view-full {
overflow: auto;
}
span.req-status-1 {
color: green;
}
.req-status-2,
.req-status-3 {
color: red;
}
/* CSV */
.psp-csv-errors {
margin-bottom: 2em;
}
.psp-csv-errors tr td:first-of-type {
text-align: center;
}
/* Zapros */
table.psp-viewer {
text-align: left;
/*margin-bottom: 1em;*/
width: 100%;
}
table.psp-viewer td {
padding: 0.6em;
}
table.psp-viewer td:first-of-type {
min-width: 11em;
width: 35%;
font-weight: bold;
background-color: #e0e0e0;
}
table.psp-viewer td:last-of-type {
background-color: #f5f5f5;
}
/* Forms */
.psp-form {
width: 100%;
background-color: #eee;
border: solid 3px #ddd;
}
.psp-form table {
width: 100%;
}
.psp-form .psp-label {
margin-top: 0.7em;
margin-bottom: 0.4em;
}
.psp-form input,
.psp-form input,
.psp-form select,
.psp-form .psp-upload-file {
padding: 0.4em;
width: 70%;
font-size: 1em;
letter-spacing: 0.04em;
}
.psp-form select {
width: 72%;
}
.psp-form .psp-upload-file {
background-color: #fff;
display: inline-block;
}
.psp-form button {
width: 72%;
margin: 0.5em;
background-color: #0088cc;
border-radius: 2px;
border: none;
display: inline-block;
cursor: pointer;
color: #ffffff;
font-size: 1em;
padding: 0.8em;
text-decoration: none;
/*text-shadow: 0px 1px 0px #3d768a;*/
}
.psp-form button:hover {
background-color:#026799;
}
form#psp-search input,
form#psp-search select {
padding: 0.3em;
}
/* Buttons */
a.psp-small-button,
button.psp-small-button {
display: inline-block;
background-color: #0088cc;
color: #fff;
padding: 0.5em;
text-decoration: none;
border: none;
border-radius: 4px;
font-size: 90%;
}
button.psp-small-button {
padding: 0.3em 0.6em 0.3em 0.6em;
}
a.psp-small-button:hover,
button.psp-small-button:hover {
background-color: #026799;
cursor: pointer;
}
#psp-history-search {
float: right;
padding: 0 0 1em 1em;
}
/* Navigation */
.psp-navigation table {
border-collapse: collapse;
border: none;
background-color: #fff;
}
.psp-navigation td {
background-color: #008080;
transition-property: background-color;
transition-duration: 0.3s;
}
.psp-navigation td:hover {
background-color: #c2f4f4;
}
.psp-navigation td:hover a {
color: #000;
}
.psp-navigation a {
display: inline-block;
padding: 0.5em;
text-decoration: none;
color: #fff;
}
#psp-nav-bar {
width: 100%;
background-color: #eeeeee;
/*overflow: auto;*/
padding: 0;
margin-top: 2em;
}
#psp-nav-bar table {
/*float: right;*/
margin: 0 0 0 auto;
}
#psp-nav-bar table:last-child td {
border-left: #fff solid 4px;
}
#psp-nav-menu table{
margin: 0 auto;
}
#psp-nav-menu td {
border-top: solid 0.5em #fff;
padding: 0.5em;
}
/* Pagination links */
.pagination {
display: inline-block;
}
.pagination a {
color: black;
background-color: #fff;
float: left;
padding: 5px 12px;
text-decoration: none;
border: 1px solid #ddd;
}
.pagination a.active {
background-color: #444;
color: white;
border: 1px solid #444;
}
.pagination a:hover:not(.active) {background-color: #ddd;}
.pagination a:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.pagination a:last-child {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.pagination a.arrows {
/*font-size: 140%;
font-weight: 600;*/
}
</style>
<?php
}
function psp_show_footer() {
global $psp_start;
if ( $psp_start ) {
echo "\n".'<!-- Page generation time: ' . ceil( ( microtime( true ) - $psp_start ) * 1000 ) . ' ms -->';
}
echo "\n" . '<!-- User ID: ' . psp_get_user_id() . ' -->';
echo "\n" . '<!-- Version: ' . PSP_VERSION . ' -->';
if ( $range = psp_get_request_field( 'date_range_search', false ) ) {
$range = explode( '-', $range );
$range = array_map( 'strip_tags', $range );
$range = array_map( 'trim', $range );
$range = array_filter( $range );
}
else {
$range = array( 0, 0 );
}
//echo date('d.m.Y',strtotime('01.04.2016'));
?>
<!-- </div> -->
<script>
window.picker_date_begin = "<?php echo $range ?>";
window.picker_date_end = "<?php echo $range ?>";
// See config examples here: http://www.daterangepicker.com/
$('input').daterangepicker({
"maxDate": moment(),
//maxYear: parseInt(moment().format('YYYY'),10),
ranges: {
'Сегодня': ,
'Вчера': ,
'Последние 7 дней': ,
'Последние 30 дней': ,
'Этот месяц': ,
'Предыдущей месяц':
},
alwaysShowCalendars: true, // always show calendar if ranges are enabled
showCustomRangeLabel: false,
// Set selected range
startDate: (picker_date_begin !== "0" ? picker_date_begin : moment().subtract(6, 'days')),
endDate: (picker_date_end !== "0" ? picker_date_end : moment()),
locale: {
format: 'DD.MM.YYYY',
cancelLabel: 'Отмена',
applyLabel: 'Установить',
monthNames: ,
}
});
</script>
</body>
</html>
<?php
}
function psp_render_page() {
global $request;
//psp_show_messages();
?>
<body>
<div id="wrap-<?php echo psp_get_page(); ?>">
<div id="psp-content">
<?php
echo '<div style="background-color: #eee; padding: 0.5em; margin-bottom: 1em;"><h2>' . psp_get_pages( psp_get_page() ) . '</h2></div>';
psp_show_messages();
if ( CSV_Processor::has_errors() ) {
echo CSV_Processor::get_csv_errors();
echo '<p><a class="psp-small-button" href="?render_page=group_form">Загрузить другой файл</a></p>';
}
else {
switch ( psp_get_page() ) {
case 'home':
psp_show_home();
break;
case 'single_form':
psp_single_form( $request );
psp_show_history();
break;
case 'single_log':
psp_show_history( 'full' );
break;
case 'view_single':
psp_show_single( $request );
break;
case 'group_form':
psp_group_form();
break;
case 'group_log':
psp_show_group_history();
break;
case 'group_view':
psp_show_history( 'full' );
break;
}
psp_show_nav_bar();
}
?>
</div>
</div>
<?php
psp_show_footer();
}
function psp_get_pages( $page = null ) {
$ret = array(
'home' => array( 'Проверка Страховой Принадлежности', 0 ),
'single_form' => array( 'Индивидуальный Запрос', 1 ),
'single_log' => array( 'Журнал Индивидуальных Запросов', 1 ),
'view_single' => array( 'Карточка Запроса', 0 ),
'group_form' => array( 'Групповой Запрос', 1 ),
'group_log' => array( 'Журнал Групповых Запросов', 1 ),
'group_view' => array( 'Журнал Группового Запроса', 0 ),
);
if ( $page ) {
if ( isset( $ret ) ) {
return $ret;
}
return false;
}
return $ret;
}
function psp_show_nav_bar() {
global $request;
$pages = psp_get_pages();
$config = array( 'single_log', 'group_form' );
$config = array( 'single_form', 'group_form' );
$config = array( 'single_form', 'single_log', 'group_form' );
$config = array( 'group_log', 'single_form' );
$config = array( 'group_form', 'single_form', 'single_log' );
$config = array( 'group_form', 'group_log' );
$buttons = array();
if ( empty( $config ) ) {
return;
}
foreach ( $config as $key ) {
$buttons = '<a href="?render_page=' . $key . '">' . $pages . '</a>';
}
if ( psp_get_page() != 'view_single' ) {
$home = '<table style="float: left;"><tr><td><a href="' . psp_get_home() . '">Главная</a></td></tr></table>';
}
else {
$home = '';
}
echo '<div id="psp-nav-bar" class="psp-navigation">' . $home . '<table><tr><td>' . implode( '</td><td>', $buttons ) . '</td></tr></table></div>';
}
function psp_show_home(){
$pages = psp_get_pages();
$buttons = array();
foreach ( $pages as $key => $config ) {
if ( $config != 1 ) {
continue;
}
$buttons = '<a href="?render_page=' . $key . '">' . $config . '</a>';
}
echo '<div id="psp-nav-menu" class="psp-navigation"><table><tr><td>' . implode( '</td></tr><tr><td>', $buttons ) . '</td></tr></table></div>';
}
function psp_show_single( $id ) {
if ( ! $req = psp_db_get_request( $id ) ) {
// TODO не отображается на данном этапе
psp_user_error( 'Запрос не найден' );
echo 'Запрос не найден';
return;
}
$req = (object) $req;
$req_data = array();
$req_data = array( 'Отправлен', psp_date( $req->req_created ) );
$req_data = array( 'Статус', psp_get_status( $req->req_status ) );
foreach ( psp_get_request_fields() as $field => $config ) {
if ( $field == 'dul_type' ) {
$val = psp_dul_type( $req->$field );
}
else {
$val = $req->$field;
}
$req_data = array( $config, $val );
}
$req_data = array( 'GUID', $id );
$table = '<table class="psp-viewer">';
foreach ( $req_data as $tr ) {
$table .= '<tr><td>' . $tr . '</td><td>' . $tr . '</td></tr>';
}
$table .= '</table>';
echo $table;
$resp = array();
if ( $req->req_status ) {
$response = unserialize( $req->response );
foreach ( psp_get_response_fields( $response ) as $key => $config ) {
if ( $config ) {
$resp = array( $config, htmlspecialchars( $response ) );
}
}
}
$table = '<table class="psp-viewer">';
foreach ( $resp as $tr ) {
$table .= '<tr class="req-status-' . $req->req_status . '"><td>' . $tr . '</td><td>' . $tr . '</td></tr>';
}
$table .= '</table>';
echo $table;
if ( ! psp_is_group() ) {
echo '<p style="text-align: right"><a class="psp-small-button" href="?render_page=single_form&id=' . $id . '">Редактировать</a></p>';
}
}
function psp_show_history( $view = 'short' ) {
global $request;
if ( $view == 'short' ) {
if ( ! PSP_SHOW_LAST ) {
return;
}
$limit = PSP_SHOW_LAST;
$offset = 0;
$total = false;
$show_footer = false;
}
else {
$limit = PSP_PER_PAGE;
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$total = true;
$show_footer = true;
}
$requests = psp_db_get_history( $limit, $offset, $total );
if ( ! $requests ) {
return;
}
$header = '';
$search_form = '';
$results = '';
$footer = '';
if ( $view == 'short' ) {
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$results .= '<tr><td>' . implode( '</td><td>',
array(
psp_date( $req->req_created ),
'<a href="?render_page=view_single&id=' . $req->id . '">' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '</a>',
$req->born,
psp_get_status( $req->req_status )
) ) . '</td></tr>';
}
}
else {
$header = array(
'Дата запроса',
'ФИО',
'Дата рождения',
'Документ',
'Статус',
'ЕНП',
'Регион',
'Страховая компания'
);
if ( ! psp_is_group() ) {
unset( $header );
}
$header = '<tr><th>' . implode( '</th><th>', $header ) . '</th>';
//$header = '<tr><th>Дата запроса</th><th>ФИО</th><th>Дата рождения</th><th>Документ</th><th>Статус</th><th>Регион</th><th>Страховая компания</th></tr>';
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$data = array();
if ( ! empty( $req->response ) ) {
$data = unserialize( $req->response );
}
$reg = htmlspecialchars( psp_array_get( $data, 'Region', '' ) );
$sk = htmlspecialchars( psp_array_get( $data, 'InsuranceOrganization', '' ) );
$row = array(
psp_date( $req->req_created ),
'<a href="?render_page=view_single&id=' . $req->id . '&group_id=' . psp_get_group_id() . '">' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '</a>',
$req->born,
$req->dul_ser . ' ' . $req->dul_num . ' ' . psp_dul_type( $req->dul_type ),
psp_get_status( $req->req_status ),
$reg,
$sk
);
if ( psp_is_group() ) {
$enp = htmlspecialchars( psp_array_get( $data, 'UnitedPolicyNumber', '' ) );
$row = array_merge( array_slice( $row, 0, 5 ), array( 5 => $enp ), array_slice( $row, 5 ) );
}
$results .= '<tr><td>' . implode( '</td><td>', $row ) . '</td></tr>';
}
}
$text = '';
if ( $group_id = psp_get_group_id() ) {
$gr = psp_db_get_group_request( $group_id );
$text = '<p style="font-weight: bold;">' . $gr . '</p>';
}
if ( psp_is_search() ) {
$text .= '<p style="font-weight: bold;">Результаты поиска <i>' . htmlspecialchars( $request ) . '</i></p>';
}
if ( $results ) {
if ( $show_footer ) {
$search_form = psp_search_form();
$footer = psp_page_navi( $total );
}
$results = '<table class="psp-table psp-history">' . $header . $results . '</table><div style="text-align: right;" class="psp-table-footer">' . $footer . '</div>';
}
else {
if ( psp_is_search() ) {
$text .= '<p style="text-align: center;">По вашему запросу ничего не найдено</p>';
$search_form = psp_search_form();
//$text .= '<p><a href="' . psp_remove_args( array_keys( psp_get_search_fields() ) ) . '">Назад к журналу</a></p>';
}
elseif ( $view != 'short' ) {
$text .= '<p style="text-align: center;">Журнал пуст</p>';
}
else {
return;
}
}
if ( psp_is_search() ) {
$text .= '<p><a href="' . psp_remove_args( array_keys( psp_get_search_fields() ) ) . '">Назад к журналу</a></p>';
}
echo '<div id="psp-view-' . $view . '">' . $text . $search_form . $results . '</div>';
}
function psp_search_form() {
global $request;
$preserve_fields = array( 'render_page', 'group_id' );
$fields = '';
foreach ( $preserve_fields as $name ) {
if ( isset( $_GET ) ) {
$fields .= '<input type="hidden" name="' . $name . '" value="' . $_GET . '">';
}
}
$search_form = '<div id="psp-history-search">
<form action="" id="psp-search">
<input type="text" name="date_range_search" size="23">
<input type="text" name="fio_search" placeholder="Начальные буквы ФИО" value="' . htmlspecialchars( psp_get_request_field( 'fio_search', '' ) ) . '"> ' .
psp_dropdown_select( 'status_search', array(
0 => 'Отправлен',
1 => 'Получен ответ'
), psp_get_request_field( 'status_search', 1 ) ) .
' <button type="submit" class="psp-small-button">Поиск</button>' .
$fields .
'</form></div>';
return $search_form;
}
function psp_single_form( $id = null ) {
$fields = psp_get_request_fields();
$data = array();
if ( $id && ( $req = psp_db_get_request( $id ) ) ) {
$data = $req;
}
$rows = '';
foreach ( $fields as $field => $config ) {
$val = isset( $data ) ? $data : null;
if ( $field == 'dul_type' ) {
$f = psp_dropdown( $val );
}
else {
$atts = '';
$atts .= ! empty( $config ) ? 'placeholder = "' . $config . '"' : '';
$atts .= ! empty( $config ) ? 'pattern = "' . $config . '"' : '';
$atts .= ! empty( $config ) ? 'title = "' . $config . '"' : '';
$f = '<input type="text" name="' . $field . '" value="' . $val . '"' . $atts . ' required>';
}
$rows .= '<tr><td><p class="psp-label">' . $config . '</p>' . $f . '</td></tr>';
}
?>
<div class="psp-form">
<form method="post" action="">
<table>
<?php
echo $rows;
?>
</table>
<input type="hidden" name="request_type" value="single">
<p>
<button type="submit">Направить Запрос</button>
</p>
</form>
</div>
<?php
}
function psp_show_group_history() {
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$limit = PSP_PER_PAGE;
$where = null;
$total = psp_dbs()->querySingle( 'SELECT COUNT(ROWID) FROM ' . USER_CSV_TBL );
if ( ! $total ) {
$total = 0;
}
$requests = psp_dbs()->query( 'SELECT * FROM ' . USER_CSV_TBL . ' ORDER BY group_created DESC LIMIT ' . $limit . ' OFFSET ' . $offset );
if ( ! $requests ) {
return;
}
$results = '';
$header = '<tr><th>Дата запроса</th><th>Наименования запроса</th><th>Число вложенных запросов</th><th>Получено ответов</th><th>Статус</th><th>Выгрузка</th></tr>';
while ( $group = $requests->fetchArray() ) {
$group = (object) $group;
//$status = ( $group->is_complete ) ? 'Получен ответ' : 'Отправлен';
/*if ( $group->is_complete ) {
$status = '<span class="req-status-' . $group->is_complete . '">Получен ответ</span>';
$export = '<a href="?export=csv&group_id=' . $group->id . '">Выгрузить</a>';
}
else {
$status = 'Отправлен';
$export = '';
}*/
list( $status, $export ) = psp_get_group_attributes( $group );
$results .= '<tr id="psp-group-id-' . $group->id . '" class="psp-group-row"><td>' . implode( '</td><td>',
array(
psp_date( $group->group_created ),
'<a href="?render_page=group_view&group_id=' . $group->id . '">' . ' ' . $group->group_name . '</a>',
$group->req_num,
$group->received_num,
$status,
$export,
) ) . '</td></tr>';
}
if ( $results ) {
$footer = psp_page_navi( $total );
$results = '<table class="psp-table psp-history">' . $header . $results . '</table><div style="text-align: right;" class="psp-table-footer">' . $footer . '</div>';
}
else {
$results = '<p style="text-align: center;">Журнал пуст</p>';
}
echo '<div id="psp-view-full">' . $results . '</div>';
}
/**
* @param $group array|object
*
* @return string
*/
function psp_get_group_attributes( $group ) {
if ( is_array( $group ) ) {
$group = (object) $group;
}
if ( $group->is_complete ) {
$status = '<span class="req-status-' . $group->is_complete . '">Получен ответ</span>';
$export = '<a href="?export=csv&group_id=' . $group->id . '">Выгрузить</a>';
}
else {
$status = 'Отправлен';
$export = '';
}
return array( $status, $export );
}
function psp_group_form() {
?>
<div class="psp-form">
<form method="post" action="" enctype="multipart/form-data">
<table>
<tr>
<td><p class="psp-label">Наименование запроса</p><input type="text" value="" name="group_name" required></td>
</tr>
<tr>
<td><p class="psp-label">Выберите файл</p><span class="psp-upload-file"><input type="file" value="" name="group_file" required></span></td>
</tr>
</table>
<input type="hidden" name="request_type" value="group">
<p>
<button type="submit">Направить Запрос</button>
</p>
</form>
</div>
<?php
}
function psp_dropdown( $selected = null ) {
$options = array();
$sel = ( $selected !== null ) ? $selected : PSP_DEFAULT_DUL;
foreach ( psp_dul_type() as $key => $value ) {
$s = ( $key == $sel ) ? 'selected' : '';
$options = '<option value="' . $key . '" ' . $s . '>' . htmlspecialchars( $value ) . '</option>';
}
return '<select name="dul_type">' . implode( "\n", $options ) . '</select>';
}
/**
* @param string $name
* @param array $list
* @param null $selected
*
* @return string
*/
function psp_dropdown_select( $name, $list, $selected = null ) {
$options = array();
foreach ( $list as $key => $value ) {
$s = '';
if ( $selected !== null && (string) $key === (string) $selected ) {
//$s = ( $key === $selected ) ? 'selected' : '';
$s = 'selected';
}
$options = '<option value="' . $key . '" ' . $s . '>' . htmlspecialchars( $value ) . '</option>';
}
return '<select name="' . $name . '">' . implode( "\n", $options ) . '</select>';
}
function psp_get_status( $s = 0 ) {
$r = array( 'Отправлен', 'Получен', 'Ошибка', 'Ошибка СМЭВ' );
return '<span class="req-status-' . $s . '">' . $r . '</span>';
}
Project ID: 4154035
Категория проекта:
Бюджет проекта:
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Последние проекты / Все проекты
  Проект Открыт
Middle бизнес аналитик
Категория: Программирование и IT
Бюджет: 200000 руб 2024-04-26
25-Apr-2024
22:07 GMT
Необходимы тексты для категорий сайта по ремонту и эвакуации грузовико - 420UAH
Категория: Копирайтинг
25-Apr-2024
22:06 GMT
Монтажер для відео-трейлерів по ММА та Боксу
Категория: Аудио и видео монтаж
25-Apr-2024
21:59 GMT
Требуется React-разработчик для аудита/анализа кода согласно рекомендациям Core Web Vitals
Категория: Программирование и IT
Бюджет: 20000 руб 2024-04-26
25-Apr-2024
21:56 GMT
Програма автоматизації друку фото з фотоапарата - 5000UAH
Категория: Системное программирование
25-Apr-2024
21:46 GMT
Конверсии на Регистрацию + Покупку для онлайн игры на пк Lineage 2
Категория: Контекстная реклама, Реклама в социальных медиа
25-Apr-2024
21:35 GMT
Оставить готовый, уже написанный, отзыв на сервисе (айрекоменд, отзовик)
Категория: Тексты
Бюджет: 100 руб 2024-04-26
25-Apr-2024
21:32 GMT
Доработать логотип
Категория: Графический дизайн
Бюджет: 2000 руб 2024-04-26
25-Apr-2024
21:30 GMT
Звіт до індивідуального завдання для університету - 500UAH
Категория: C, и C++
25-Apr-2024
21:25 GMT
Внести правки в существующий сайт
Категория: Веб разработка
25-Apr-2024
21:21 GMT
разработка логотипа
Категория: Графический дизайн
25-Apr-2024
21:19 GMT
Дипломная работа - разработка MVC приложения для аукциона автомобилей - 15000UAH
Категория: HTML, и CSS верстка, Python
25-Apr-2024
21:17 GMT
Потрібен контент-менеджер/смм/таргет
Категория: Контент-менеджмент, Продвижение в социальных сетях (SMM)
25-Apr-2024
21:09 GMT
Шаблон Wordpress
Категория: Веб-программирование
25-Apr-2024
20:54 GMT
Сегментированный Анализ Ключевых Слов по Продуктам в Германии
Категория: Контекстная реклама, Маркетинговые исследования
25-Apr-2024
20:47 GMT
Все проекты
Проекты по навыкам ...
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Читать RSS-ленты ... Новое!
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Новое!
Projects in English
Короткий URL:
1001fp.ru
Мобильная версия:
m.1001freelanceprojects.ru
Copyright © 2005-2022 1001 Freelance Projects