В общем стабильно буду давать заказы, на написание разных видов сложности скриптов. Нужно чтобы программист был общителен, со знанием php , mysql , js и ajax . Писать нужно будет , как и просто php скрипты , так и модули для LinkorCMS - оф.сайт системы www.LinkorCMS.ru для ознакомления с системой. Последняя версия системы 1.3.3 , но писать надо будет только для версии 1.2 Нужны будут модули, плагины,блоки. Различные сервисы. От простых до очень сложных. Хотел бы выслушать кто вообще готов работать постоянно, опыт работы, цены от которых работают.
Ну я работаю от 20$ за всякую хренотень и вперед - 500$, 1 000$+ Сейчас пока в отпуске, времени вагон у меня.
Для меня дорого. У меня есть 2 программиста в штате так сказать, у них выходит дешевле, но из-за того, что они люди семейные и с детьми, и у одного из них GPRS интернет, не всегда можно выловить их для работы. Еще предложения будут?
хороший фрилансер стоит от 15$. дешевле поимеете проблемы и качество, сроки и ответственность. проверено не в одном проекте.
Стали поступать предложения в ЛС. Уточню , что в месяц примерно на моих заказах будет не более 200-300$
спасибо, проблевался. Как я понимаю, мультиязычные сайты на ней делать нереально? И поддержки https или других портов тоже нету? PHP: <?php if(!defined('VALID_RUN')){ Header("Location: [url=http://]http://[/url]".getenv("HTTP_HOST")."/index.php"); exit; } if(!$user->CheckAccess2('config','config')){ AddTextBox('Ошибка',$config['general']['admin_accd']); return; } include_once($config['apanel_dir'].'configuration/functions.php'); function CGroupTable() { return (isset($_GET['groupt'])?SafeEnv($_GET['groupt'],250,str):'config_groups'); } function CConfigTable() { return (isset($_GET['configt'])?SafeEnv($_GET['configt'],250,str):'config'); } function GetGroupsFormData() { global $config, $db, $site; $db->Select(CGroupTable(),''); $result = array(); while($g=$db->FetchRow()){ $site->DataAdd($result,SafeDB($g[0],11,int),SafeDB($g[2],255,str).' ('.SafeDB($g[1],255,str).')'); } return $result; } function AdminConfigAdd() { global $site, $config, $cl_plugins, $cs_plugins; $controls = array(); $site->DataAdd($controls,'edit','Текстовое поле'); $site->DataAdd($controls,'text','Область редактирования'); $site->DataAdd($controls,'combo','Раскрывающийся список'); $site->DataAdd($controls,'list','Список (мультивыделение)'); $site->DataAdd($controls,'check','Флажки'); $site->DataAdd($controls,'radio','Радиокнопки'); $collsd = array(); for($i=1;$i<11;$i++){ $site->DataAdd($collsd,$i,$i); } $getfuncdata = array(); $site->DataAdd($getfuncdata,'',''); foreach($cl_plugins as $pl){ $site->DataAdd($getfuncdata,$pl[0],$pl[0]); } $savefuncdata = array(); $site->DataAdd($savefuncdata,'',''); foreach($cs_plugins as $pl){ $site->DataAdd($savefuncdata,$pl[0],$pl[0]); } $datatypes = array(); $site->DataAdd($datatypes,'int','Целочисленный'); $site->DataAdd($datatypes,'float','Вещественный'); $site->DataAdd($datatypes,'string','Текстовый'); $site->DataAdd($datatypes,'bool','Логический'); AddCenterBox('Добавить настройку'); AddText('<br>.: Добавить настройку :.'); FormRow('Группа',$site->Select('group',GetGroupsFormData())); FormRow('Имя',$site->Edit('name','',false,'style="width:100px;" maxlength="255"')); FormRow('Заголовок',$site->Edit('hname','',false,'style="width:180px;" maxlength="255"')); FormRow('Описание',$site->Edit('description','',false,'style="width:280px;" maxlength="255"')); FormRow('Значение',$site->TextArea('value','','style="width:280px;height:200px;"')); FormRow('Элемент управления<br><small>Укажите единицу измерения<br>после ширины и высоты</small>',$site->Select('control',$controls) .'<table cellspacing="0" cellpadding="0" border="0">' .'<tr><td style="border:none">Ширина:</td><td style="border:none">'.$site->Edit('cwidth','',false,'style="width:60px;"').'</td></tr>' .'<tr><td style="border:none">Высота:</td><td style="border:none">'.$site->Edit('cheight','',false,'style="width:60px;"').'</td></tr>' .'<tr><td style="border:none">Колонок:</td><td style="border:none">'.$site->Select('ccols',$collsd).'</td></tr>' .'</table>'); FormRow('Возможные значения<br><small>Например:<br>name:имя, name:имя, ...<br>Только для элементов выбора.</small>',$site->TextArea('values','','style="width:280px;height:60px;"')); FormRow('Функция заполнения значений',$site->Select('valuesfunc',$getfuncdata)); FormRow('Функция обработчик',$site->Select('savefunc',$savefuncdata)); FormRow('Тип данных',$site->Select('datatype',$datatypes)); FormRow('Длина поля<br><small>0 - не ограничено</small>',$site->Edit('maxlength','0',false,'style="width:60px;" maxlength="11"')); FormRow('Вырезать html-теги и<br>заменять спецсимволы<br>html-эквивалентами', $site->Check('striptags','1',false)); FormRow('Видимая', $site->Check('visible','1',false)); FormRow('Автозагрузка', $site->Check('autoload','1',true)); AddForm($site->FormOpen('',$config['admin_file'].'?exe=config&a=saveret'.(CGroupTable()!='config_groups'?'&groupt='.CGroupTable():'').(CConfigTable()!='config'?'&configt='.CConfigTable():'')),$site->Submit('Добавить')); } function AcAddRetrofitting() { global $db, $config; $db->Select(CGroupTable(),''); $groups = array(); while($g=$db->FetchRow()){ $groups[$g[0]] = $g[1]; } $group = SafeEnv($_POST['group'],11,int); $hname = SafeEnv($_POST['hname'],255,str,true); $name = SafeEnv($_POST['name'],255,str); $value = SafeEnv($_POST['value'],0,str); $description = SafeEnv($_POST['description'],255,str,true); if(isset($_POST['visible'])){ $visible = '1'; }else{ $visible = '0'; } if(isset($_POST['autoload'])){ $autoload = '1'; }else{ $autoload = '0'; } //генерируем kind $kind = ''; $values = ''; $savefunc = ''; $type = ''; if($visible == '1'){ $kind .= SafeEnv($_POST['control'],25,str); $width = SafeEnv($_POST['cwidth'],14,str); $height = SafeEnv($_POST['cheight'],14,str); $cols = SafeEnv($_POST['ccols'],11,int); if($width<>''){ $kind .= ':w'.$width; } if($height<>''){ $kind .= ':h'.$height; } if($cols>1){ $kind .= ':c'.$cols; } $getfunc = SafeEnv($_POST['valuesfunc'],255,str); if($getfunc=='' || !function_exists(CONF_GET_PREFIX.$getfunc)){ $values = SafeEnv($_POST['values'],0,str); }else{ $values = 'function:'.$getfunc; } if(function_exists(CONF_GET_PREFIX.$_POST['savefunc'])){ $savefunc = SafeEnv($_POST['savefunc'],255,str); }else{ $savefunc = ''; } $maxlenght = SafeEnv($_POST['maxlength'],11,int); $type = SafeEnv($_POST['datatype'],255,str); if(isset($_POST['striptags'])){ $striptags = 'true'; }else{ $striptags = 'false'; } $type = $maxlenght.','.$type.','.$striptags; } //Сохраняем новую настройку $to_db = Values('',$group,$name,$value,$visible,$hname,$description,$kind,$values,$savefunc,$type,$autoload); $db->Insert(CConfigTable(),$to_db); if(CConfigTable()=='config'){ AddTextBox('Подтверждение','<center>Новая настройка успешно добавлена.<br>Для доступа к значению настройки используйте переменную:<br><font color="#660000">$config</font>[<font color="#008200">\''.$groups[$group].'\'</font>][\'<font color="#008200">'.$name.'\'</font>]<br><br><a href="javascript:history.go(-1)">Назад</a></center>'); }else{ GoBack(); } } function AdminViewRetrofittingList() { global $db, $config; $groups = array(); $db->Select('config_groups'); while($group = $db->FetchRow()){ $groups[$group['id']] = $group; } $db->Select('config',''); SortArray($db->QueryResult,"group_id"); $text = '<table cellspacing="0" cellpadding="0" class="cfgtable">'; $text .= '<tr><th>№</th> <th>Группа</th> <th>Настройка</th> <th>PHP код</th> <th>Видимая</th> </tr>'; //<th>Функции</th> $id = 0; while($conf = $db->FetchRow()){ $id++; $func = '<a href="'.$config['admin_file'].'?exe=hosting&a=edit_client&id='.SafeDB($conf[0],11,int).'"><img src="images/admin/edit.gif" title="Редактировать"></a>' .'<a href="'.$config['admin_file'].'?exe=hosting&a=delete_client&id='.SafeDB($conf[0],11,int).'&ok=0"><img src="images/admin/delete.gif" title="Удалить"></a>'; $access = '<code><font color="#660000">$config</font>[<font color="#008200">\''.$groups[$conf['group_id']]['name'].'\'</font>][\'<font color="#008200">'.$conf['name'].'\'</font>]</code>'; //$access = highlight_string('$config['.$groups[$conf['group_id']]['name'].']['.$conf['name'].']',true); if($conf['visible']=='1'){ $visible = '<font color="#008000">Да</font>'; }else{ $visible = '<font color="#FF0000">Нет</font>'; } $text .= '<tr><td>'.$id.'</td> <td>'.$groups[$conf['group_id']]['hname'].'</td> <td style="text-align:left;padding-left:10px;">'.$conf['hname'].'</td> <td style="text-align:left;padding-left:10px;">'.$access.'</td> <td>'.$visible.'</td> </tr>'; //<td>'.$func.'</td> } $text .= '</table>'; AddTextBox('Все настройки', $text); } function AdminConfig($action) { TAddToolLink('Настройки сайта','main','config'); TAddToolLink('Добавить настройку','add','config&a=add'); TAddToolLink('Добавить настройку плагина','addpl','config&a=addpl&groupt=plugins_config_groups&configt=plugins_config'); TAddToolBox($action); TAddToolLink('Все настройки','view_all','config&a=view_all'); //TAddToolLink('Все настройки плагинов','addpl','config&a=addpl&groupt=plugins_config_groups&configt=plugins_config'); //TAddToolLink('Добавить группу','addpl','config&a=addpl&groupt=plugins_config_groups&configt=plugins_config'); //TAddToolLink('Добавить группу для плагинов','addpl','config&a=addpl&groupt=plugins_config_groups&configt=plugins_config'); TAddToolBox($action); switch($action){ case 'main': AdminConfigurationEdit('config',0,false,true,'Настройки сайта'); break; case 'configsave': AdminConfigurationSave('config'); break; case 'add': case 'addpl': AdminConfigAdd(); break; case 'saveret': AcAddRetrofitting(); break; case 'view_all': AdminViewRetrofittingList(); break; default: AdminConfigurationEdit('config'); } } if(isset($_GET['a'])){ AdminConfig($_GET['a']); }else{ AdminConfig('main'); } ?>
Уважаемые, я не несу ответсвенность и не отвечаю за код и принцип работы движка. Я ищу программиста, который будет для нужных мне сайтов писать нужные мне модули. Я рассмотрел уже не сколько кандидатур, но не выбрал ни одного, т.к. слишком много просят. Мне нужны люди,которые готовы работать за не большие деньги. Если такие есть, пишите. Бюджет не очень большой(((((
У меня на оплату квартиры и проживание уходит больше 400$ в месяц, обычно живу не менее чем на 800$ Только школьник, который сидит на шее у матери, сможет работать за 200-300$ в месяц